PICBasicPro - Страница 2 - Форум Picbasic.ru
Регистрация | Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 2 из 6«123456»
Модератор форума: ivan_fd 
Форум Picbasic.ru » Программирование МК » PicBasicPro » PICBasicPro (проекты)
PICBasicPro
vladh Дата: Ср, 12.12.2007, 05:58  |                                                                                                                Сообщение # 16
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 245
Репутация: 7   ±
Замечания:   ±
На сайте с 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
ЯНДЕКС Дата: 12.12.2007
evgenb Дата: Ср, 12.12.2007, 11:07  |                                                                                                                Сообщение # 17
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 92
Репутация: 3   ±
Замечания:   ±
На сайте с 14.09.2007

Статус: Offline

vladh,

Спасибо за книгу. Просмотрел по диагонали, и приступаю к подробному ознакомлению.
На сегодня мне показалось лучшее из рускоязычного учебника по РВР.

Расчлените эу команду на более быстрые.

Я так и делаю когда длинные команды. но невозможно разбить передачу на индикатор, передачу на терминал, ожидание запроса терминала и.т.д. Вставки на ASM всета ки нужны для случаев где критична точность измерения.
С уважением Евген.

Добавлено (12.12.2007, 16:50)
---------------------------------------------
Не нашел эту книгу в интернет-магазинах.
Ее лучше иметь в книжном варианте.
Если знаете, подскажите точное название, издательство.
Может знаете какой и-маг. распространяет.
Google не дает об авторе и книге никакой инфо.

Добавлено (12.12.2007, 17:07)
---------------------------------------------
Если я правильно понял, Вы автор книги?
Если это так, сколько она стоит, и сможете ли вы ее выслать почтой?

ADMIN Дата: Ср, 12.12.2007, 15:23  |                                                                                                                Сообщение # 18
Администратор
Группа: Администраторы
Ранг:  Специалист
Сообщений: 1097
Репутация: 24   ±
Замечания:   ±
На сайте с 20.08.2007

Статус: Offline

Здравствуйте!
Хочу задать вопрос!
У кого нибудь есть реализованный и работающий в железе хардварный усарт? Хотелось бы ознакомиться с исходником. Я тут писал, что делаю термометр на комп, так вот, не могу понять, то ли на VB.NET неправильно написал, то ли для проца прошивка не идет. Вроде отправляет что-то, а VB виснет на строке serialport.read. Все перепробовал. Может инвертировать усарт нужно? В протеусе - без проблем. Хочется готовый пример глянуть.
Кто желает глянуть - вот что я наваял. Проект в протеусе и протоне. И исходник на VB.NET 2005
evgenb Дата: Ср, 12.12.2007, 16:00  |                                                                                                                Сообщение # 19
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 92
Репутация: 3   ±
Замечания:   ±
На сайте с 14.09.2007

Статус: Offline

По программе ничего не скажу, так как написана на Фотоне. Но на COMPIM на 2 ноге конфликт по сигналу, и процессор ничего не передает, возможно в ожидании запроса. Отключив ваш COMPIM и подключив виртуальные терминал и осцилоскоп , конфликт убрал но с процессора никаких сигналов не поступает. даже если с терминала подаю запросы.
Сообщение отредактировал evgenb - Ср, 12.12.2007, 16:38
Yrok Дата: Ср, 12.12.2007, 18:02  |                                                                                                                Сообщение # 20
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 112
Репутация: 2   ±
Замечания:   ±
На сайте с 27.09.2007

Статус: Offline

Quote
Просто подготовить несколько стандартных подпрограмм по прерыванию для точных интервалов или обработки периодов.

Чето я несовсем понимаю каким образом подпрограммы на асемблере помогут в измерении точных интервалов?????
Нужно посчитать и измерить все входящие импульсы с точностью 1mS, а вывод на экран занимает около 6ms--и куда мне вставлять асемблерные вставки)))
evgenb Дата: Ср, 12.12.2007, 18:28  |                                                                                                                Сообщение # 21
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 92
Репутация: 3   ±
Замечания:   ±
На сайте с 14.09.2007

Статус: Offline

Yrok,

Я их планирую вставлять для обработки прерывания. И никого за такой подход не агитирую, делюсь своими мыслями по преодолению проблемы с неточностью работы прерывания на РВР.

ADMIN Дата: Чт, 13.12.2007, 03:52  |                                                                                                                Сообщение # 22
Администратор
Группа: Администраторы
Ранг:  Специалист
Сообщений: 1097
Репутация: 24   ±
Замечания:   ±
На сайте с 20.08.2007

Статус: Offline

Quote (evgenb)
По программе ничего не скажу, так как написана на Фотоне. Но на COMPIM на 2 ноге конфликт по сигналу, и процессор ничего не передает, возможно в ожидании запроса. Отключив ваш COMPIM и подключив виртуальные терминал и осцилоскоп , конфликт убрал но с процессора никаких сигналов не поступает. даже если с терминала подаю запросы.

Да, забыл сказать, что если на терминале протеуса я меняю RX/TX Polarity на INVERTED, то работает нормально. По приходу символа "s" проц передает температуру на компьютер. Вот исправленный вариант:

evgenb Дата: Чт, 13.12.2007, 09:35  |                                                                                                                Сообщение # 23
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 92
Репутация: 3   ±
Замечания:   ±
На сайте с 14.09.2007

Статус: Offline

Прикрепления: prot.rar(279Kb)

Не получается закачать.

Romario Дата: Чт, 13.12.2007, 14:41  |                                                                                                                Сообщение # 24
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 61
Репутация: 0   ±
Замечания:   ±
На сайте с 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
Репутация: 2   ±
Замечания:   ±
На сайте с 27.09.2007

Статус: Offline

А что значит выполняет неправильно???????
Да в твоем примере строчка
Quote
i = i+1
--необязательна--даже я бы сказал лишняя))))
ADMIN Дата: Чт, 13.12.2007, 17:43  |                                                                                                                Сообщение # 26
Администратор
Группа: Администраторы
Ранг:  Специалист
Сообщений: 1097
Репутация: 24   ±
Замечания:   ±
На сайте с 20.08.2007

Статус: Offline

Quote (evgenb)
Не получается закачать.

Исправил, закачал снова:

Прикрепления: prot.rar(279Kb)
evgenb Дата: Чт, 13.12.2007, 19:50  |                                                                                                                Сообщение # 27
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 92
Репутация: 3   ±
Замечания:   ±
На сайте с 14.09.2007

Статус: Offline

basicpic,
Скачал, но у меня не считает правильно температура. все время +85,00
Сегодня не смогу, а завтра постараюсь скинуть вариант на РВР
Romario Дата: Чт, 13.12.2007, 23:53  |                                                                                                                Сообщение # 28
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 61
Репутация: 0   ±
Замечания:   ±
На сайте с 14.09.2007

Статус: Offline

Не в строчке дело.
Диод мигает сам по себе, на нажатие кнопки портов 0, 1, 2 ,3 не реагирует, но если нажать на кнопки подсоединенные к портам 4, 5, 6, то диоды загораются на этих портах и тухнут через некоторое время.
Yrok Дата: Пт, 14.12.2007, 10:34  |                                                                                                                Сообщение # 29
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 112
Репутация: 2   ±
Замечания:   ±
На сайте с 27.09.2007

Статус: Offline

Quote
Не в строчке дело.
Диод мигает сам по себе, на нажатие кнопки портов 0, 1, 2 ,3 не реагирует, но если нажать на кнопки подсоединенные к портам 4, 5, 6, то диоды загораются на этих портах и тухнут через некоторое время.

А откуда взялись кнопки на портах 4,5,6--если у тебя в программе это выходы на диоды??????
Если хочешь помощи выкладывай проект в протеусе--а то так мы друг друга непоймем)))
Romario Дата: Пт, 14.12.2007, 13:01  |                                                                                                                Сообщение # 30
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 61
Репутация: 0   ±
Замечания:   ±
На сайте с 14.09.2007

Статус: Offline

На отладочной плате PIC-EASY (http://www.kosmodrom.com.ua/data/pic-easy.php) кнопки подключены к каждому порту.
На контакты портов можно подавать положительный или отрицательный потенциал. При подаче отрицательного потенциала на порты 4, 5, 6 диоды загораются, а так не какой реакции.
Не знаю как выложить проект.
Форум Picbasic.ru » Программирование МК » PicBasicPro » PICBasicPro (проекты)
Страница 2 из 6«123456»
Поиск: