PICBasicPro
|
|
vladh |
Дата: Ср, 12.12.2007, 05:58 | Сообщение # 16 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
258
Замечания:
±
На сайте с 15.10.2007
Статус:
Offline
|
Да ничего страшного в этом нет. Просто если Вам надо в программе обрабатывать прерывания не используйте в программе команды, которые выполняются за длительный промежуток времени. Расчлените эу команду на более быстрые. Например, вместо команды Pause 60000 ' Включаем задержку на 1 минуту на конструкцию вроде этой: For count = 1 to 600 For count1 =1 to 10000 Pauseus 1 next count1 next count Здесь вложенный цикл считает до 10 мс, а внешний до 1 мин. В результате во втором варианте при возникновении прерывания ошибка может достигать 1 мкс. Пример взят на ходу. Так, что уж может быть и не очень смотрится но зато решает Вашу задачу. А вообще смотрите книгу - My WebPage и сообщите мне все Ваши замечания. Удачи.
Сообщение отредактировал
vladh - Ср, 12.12.2007, 06:03
|
|
|
|
evgenb |
Дата: Ср, 12.12.2007, 11:07 | Сообщение # 17 |
Группа:
Проверенные
Ранг:
Понимаю
Сообщений:
91
Замечания:
±
На сайте с 14.09.2007
Статус:
Offline
|
vladh, Спасибо за книгу. Просмотрел по диагонали, и приступаю к подробному ознакомлению. На сегодня мне показалось лучшее из рускоязычного учебника по РВР. Расчлените эу команду на более быстрые. Я так и делаю когда длинные команды. но невозможно разбить передачу на индикатор, передачу на терминал, ожидание запроса терминала и.т.д. Вставки на ASM всета ки нужны для случаев где критична точность измерения. С уважением Евген. Добавлено (12.12.2007, 16:50) --------------------------------------------- Не нашел эту книгу в интернет-магазинах. Ее лучше иметь в книжном варианте. Если знаете, подскажите точное название, издательство. Может знаете какой и-маг. распространяет. Google не дает об авторе и книге никакой инфо. Добавлено (12.12.2007, 17:07) --------------------------------------------- Если я правильно понял, Вы автор книги? Если это так, сколько она стоит, и сможете ли вы ее выслать почтой?
|
|
|
|
ADMIN |
Дата: Ср, 12.12.2007, 15:23 | Сообщение # 18 |
Администратор
Группа:
Администраторы
Ранг:
Специалист
Сообщений:
1086
Замечания:
±
На сайте с 20.08.2007
Статус:
Offline
|
Здравствуйте! Хочу задать вопрос! У кого нибудь есть реализованный и работающий в железе хардварный усарт? Хотелось бы ознакомиться с исходником. Я тут писал, что делаю термометр на комп, так вот, не могу понять, то ли на VB.NET неправильно написал, то ли для проца прошивка не идет. Вроде отправляет что-то, а VB виснет на строке serialport.read. Все перепробовал. Может инвертировать усарт нужно? В протеусе - без проблем. Хочется готовый пример глянуть. Кто желает глянуть - вот что я наваял. Проект в протеусе и протоне. И исходник на VB.NET 2005
|
|
|
|
evgenb |
Дата: Ср, 12.12.2007, 16:00 | Сообщение # 19 |
Группа:
Проверенные
Ранг:
Понимаю
Сообщений:
91
Замечания:
±
На сайте с 14.09.2007
Статус:
Offline
|
По программе ничего не скажу, так как написана на Фотоне. Но на COMPIM на 2 ноге конфликт по сигналу, и процессор ничего не передает, возможно в ожидании запроса. Отключив ваш COMPIM и подключив виртуальные терминал и осцилоскоп , конфликт убрал но с процессора никаких сигналов не поступает. даже если с терминала подаю запросы.
Сообщение отредактировал
evgenb - Ср, 12.12.2007, 16:38
|
|
|
|
Yrok |
Дата: Ср, 12.12.2007, 18:02 | Сообщение # 20 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
112
Замечания:
±
На сайте с 27.09.2007
Статус:
Offline
|
Quote Просто подготовить несколько стандартных подпрограмм по прерыванию для точных интервалов или обработки периодов. Чето я несовсем понимаю каким образом подпрограммы на асемблере помогут в измерении точных интервалов????? Нужно посчитать и измерить все входящие импульсы с точностью 1mS, а вывод на экран занимает около 6ms--и куда мне вставлять асемблерные вставки)))
|
|
|
|
evgenb |
Дата: Ср, 12.12.2007, 18:28 | Сообщение # 21 |
Группа:
Проверенные
Ранг:
Понимаю
Сообщений:
91
Замечания:
±
На сайте с 14.09.2007
Статус:
Offline
|
Yrok, Я их планирую вставлять для обработки прерывания. И никого за такой подход не агитирую, делюсь своими мыслями по преодолению проблемы с неточностью работы прерывания на РВР.
|
|
|
|
ADMIN |
Дата: Чт, 13.12.2007, 03:52 | Сообщение # 22 |
Администратор
Группа:
Администраторы
Ранг:
Специалист
Сообщений:
1086
Замечания:
±
На сайте с 20.08.2007
Статус:
Offline
|
Quote (evgenb) По программе ничего не скажу, так как написана на Фотоне. Но на COMPIM на 2 ноге конфликт по сигналу, и процессор ничего не передает, возможно в ожидании запроса. Отключив ваш COMPIM и подключив виртуальные терминал и осцилоскоп , конфликт убрал но с процессора никаких сигналов не поступает. даже если с терминала подаю запросы. Да, забыл сказать, что если на терминале протеуса я меняю RX/TX Polarity на INVERTED, то работает нормально. По приходу символа "s" проц передает температуру на компьютер. Вот исправленный вариант:
|
|
|
|
evgenb |
Дата: Чт, 13.12.2007, 09:35 | Сообщение # 23 |
Группа:
Проверенные
Ранг:
Понимаю
Сообщений:
91
Замечания:
±
На сайте с 14.09.2007
Статус:
Offline
|
Прикрепления: prot.rar(279Kb) Не получается закачать.
|
|
|
|
Romario |
Дата: Чт, 13.12.2007, 14:41 | Сообщение # 24 |
Группа:
Проверенные
Ранг:
Пытаюсь разобраться
Сообщений:
58
Замечания:
±
На сайте с 14.09.2007
Статус:
Offline
|
Столкнулся с таким приколом, простая программка: portb = %00000000 trisb = %00001111 '1 - вход 0 - выход RB 7 6 5 4 3 2 1 0 i var word rty: if portb.0 = 1 then high portb.4 if portb.0 = 0 then low portb.4 if portb.1 = 1 then high portb.5 if portb.1 = 0 then low portb.5 if portb.2 = 1 then high portb.6 if portb.2 = 0 then low portb.6 if portb.3 = 1 then gosub zvuk if portb.3 = 0 then low portb.7 goto rty zvuk: for i = 0 to 100 High portb.7 Pause 100 Low portb.7 Pause 100 i = i+1 next return end Нажал кнопку, выполнилось действие (загорелся диод). В Протеусе не каких проблем, а железо выполняет его неправильно. Купил готовую макетную плату PIC-EASY. На ней и проверяю работу программок. Программы с книги Чака Х. тож не все работают правильно.
|
|
|
|
Yrok |
Дата: Чт, 13.12.2007, 16:14 | Сообщение # 25 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
112
Замечания:
±
На сайте с 27.09.2007
Статус:
Offline
|
А что значит выполняет неправильно??????? Да в твоем примере строчка --необязательна--даже я бы сказал лишняя))))
|
|
|
|
ADMIN |
Дата: Чт, 13.12.2007, 17:43 | Сообщение # 26 |
Администратор
Группа:
Администраторы
Ранг:
Специалист
Сообщений:
1086
Замечания:
±
На сайте с 20.08.2007
Статус:
Offline
|
Quote (evgenb) Не получается закачать. Исправил, закачал снова:
|
|
|
|
evgenb |
Дата: Чт, 13.12.2007, 19:50 | Сообщение # 27 |
Группа:
Проверенные
Ранг:
Понимаю
Сообщений:
91
Замечания:
±
На сайте с 14.09.2007
Статус:
Offline
|
basicpic, Скачал, но у меня не считает правильно температура. все время +85,00 Сегодня не смогу, а завтра постараюсь скинуть вариант на РВР
|
|
|
|
Romario |
Дата: Чт, 13.12.2007, 23:53 | Сообщение # 28 |
Группа:
Проверенные
Ранг:
Пытаюсь разобраться
Сообщений:
58
Замечания:
±
На сайте с 14.09.2007
Статус:
Offline
|
Не в строчке дело. Диод мигает сам по себе, на нажатие кнопки портов 0, 1, 2 ,3 не реагирует, но если нажать на кнопки подсоединенные к портам 4, 5, 6, то диоды загораются на этих портах и тухнут через некоторое время.
|
|
|
|
Yrok |
Дата: Пт, 14.12.2007, 10:34 | Сообщение # 29 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
112
Замечания:
±
На сайте с 27.09.2007
Статус:
Offline
|
Quote Не в строчке дело. Диод мигает сам по себе, на нажатие кнопки портов 0, 1, 2 ,3 не реагирует, но если нажать на кнопки подсоединенные к портам 4, 5, 6, то диоды загораются на этих портах и тухнут через некоторое время. А откуда взялись кнопки на портах 4,5,6--если у тебя в программе это выходы на диоды?????? Если хочешь помощи выкладывай проект в протеусе--а то так мы друг друга непоймем)))
|
|
|
|
Romario |
Дата: Пт, 14.12.2007, 13:01 | Сообщение # 30 |
Группа:
Проверенные
Ранг:
Пытаюсь разобраться
Сообщений:
58
Замечания:
±
На сайте с 14.09.2007
Статус:
Offline
|
На отладочной плате PIC-EASY (http://www.kosmodrom.com.ua/data/pic-easy.php) кнопки подключены к каждому порту. На контакты портов можно подавать положительный или отрицательный потенциал. При подаче отрицательного потенциала на порты 4, 5, 6 диоды загораются, а так не какой реакции. Не знаю как выложить проект.
|
|
|
|