прерывание виснет

Раздел создан специально для людей которым интересна робототехника, но в силу разных причин они не знают с чего начать.
Задавайте ваши вопросы, какими бы простыми они не казались, постоянные посетители форума постараются ответить на них по мере своих сил.
Робот своими руками. Самодельный робот.

Сообщение avr123.nm.ru » 16 фев 2007, 22:28

Myp писал(а):причём уровень сигнала от КПК зашкаливает почти а уровень сигнала от мк вполне в пределах

чёто мне это не нравица


я ж говорю - прочитай наконец avr123.nm.ru/z4.htm

не денешся ты ни кужда от моего курса !

Твои измерения показывают точно то что у меня написано !


На КПК КОМ порт как у ПК  - сигнал инвертирован относительно USART МК  и размах около 20 вольт  а в МК  только 5.

вот MAX232 и делает такое преобразование.

=========

Все подробно растолковано в упражнении 4 - почитай.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва

Сообщение avr123.nm.ru » 16 фев 2007, 22:31

Myp писал(а):если передаёт МК форма сигналов такая
-------   ----             ------/-/-/-/-/-/-/-/-/(типа нулевой уровень и 50Гц шум)
        |  |    |            |
        |_|    |______|        тоесть на картинке импульсы это провалы

а


Визуально похоже передается число

1000 0001   это   83h      (если формат передачи обычный - 8N1)

А реально какое ты передавал ?

=======

в звуковом редакторе и в симуляторе можно точней измерить временные интервалы и определить передаваемое число - пример измерения в -  avr123.nm.ru/z6.htm
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва

Сообщение Myp » 16 фев 2007, 22:53

фиг знает что передавал
я написал putchar(1); в проге мк
а с кпк передавал цифру 1
график это я примерно нарисовал =)




чёрт
тоже мне
ктож знал что они там реально полноценный rs232 взялись реализовать


вот так выглядит когда кпк и авр передаёт цифру 1
масштаб одинаковый так что в кпк не совсем компьютерный rs232
оба сигнала шли через резистор 260 кОм
причём уровень сигнала от КПК зашкаливает почти а уровень сигнала от мк вполне в пределах

чёто мне это не нравица

ошибочка вышла кпк без резистора прицепил =)

на картинках снизу с резистором =)
Вложения
1 авр.jpg
авр putchar(1);
1 авр.jpg (6.96 КиБ) Просмотров: 1650
1 кпк.jpg
кпк цифра 1
1 кпк.jpg (8.08 КиБ) Просмотров: 1638
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Сообщение Myp » 16 фев 2007, 23:21

помогите расшифровать строчку if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0)


всётаки обьясните что тут написано, интересно же с уартом разобраться
ато я хелп посмотрел и даташит, и книжку почитал там таких слов нету =/
просто написан код без пояснения[/quote]
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Сообщение avr123.nm.ru » 16 фев 2007, 23:28

вот расшифровка передачи числа 0000 0001

Скорость 9600  ?
Вложения
usart_sound.jpg
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва

Сообщение avr123.nm.ru » 16 фев 2007, 23:37

Myp писал(а):
помогите расшифровать строчку if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0)


всётаки обьясните что тут написано, интересно же с уартом разобраться

ато я хелп посмотрел и даташит, и книжку почитал там таких слов нету =/   просто написан код без пояснения


О ужас !!!

Читал и хелп посмотрел и даташит, и книжку почитал ТАМ НЕТ !


а я говрю - ЧИТАЙТЕ КРАТКИЙ КУРС !

там написано понятно ! и все разобрано !

каждый день народ на форуме убеждается ...

ВОТ:

 http://avr123.nm.ru/z5.htm

Затем  проводится  проверка правильно ли USART MK принял
то что пришло на ножку RXD от ПК или другого устройства :


и далее и перед этим на страничке в  #define  полный разбор - что к чему.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва

Сообщение avr123.nm.ru » 16 фев 2007, 23:47

Кстати!     В звуковом редакторе можешь усилить это сигнал раз в 10 и получишь на экране чистый прямоугольный сигнал.

====

используя метки длиной всего в 1 символ у вас есть в распоряжении более 200 !  диагностических сообщений.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва

Сообщение Myp » 16 фев 2007, 23:54

:oops:
да действительно там усё написано...


так сложно поверить  что всё чё надо есть в курсе :roll:


то факт принятия данных  игнорируется и следующий код функции обработки прерывания закончен - т.е. программа выходит из прерывания не помещая
"криво" принятый байт в буфер и возвращается к тому месту где возникло
прерывание № 12.


а почемуто у меня не переходит а просто останавливается...
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Сообщение avr123.nm.ru » 17 фев 2007, 00:27

если у тебя тут виснет то возможно КПК посылает данные не в формате 8N1  - проверь настройку COM на нем.

А потом ищи различия работающего кода из задачи курса и твоего кода - возможно там и есть загвоздка.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва

Сообщение Myp » 17 фев 2007, 01:10

avr123.nm.ru писал(а):если у тебя тут виснет то возможно КПК посылает данные не в формате 8N1  - проверь настройку COM на нем.

А потом ищи различия работающего кода из задачи курса и твоего кода - возможно там и есть загвоздка.


ну мы ж вроде уже разобрались что кпк посылает не в том виде(9600 8n1 но в компьютерном формате rs232).
нужен преобразователь интерфейса
правда непонятно почему по таймауту из прерывания не выходиться, наверно там какаято исключительная ситуация получается.

код прерывания из задачи совпадает с моим =/ я все свои функции попробовал удалить
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Сообщение avr123.nm.ru » 17 фев 2007, 01:49

Myp писал(а):нужен преобразователь интерфейса


от КОМ порта к USART  он тоже на 1 транзисторе как я выше писал.

только  к базе транзистора нужно подключить диод "черточкой" а другой вывод диода на землю.  сигнал подавать от КОМ через резистор 10 - 30 ком на базу транзистора.

коллектор соединить с RxD  и резистором 1ё0 ком подтянуть к +5 вольт питания МК.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва

Сообщение avr123.nm.ru » 17 фев 2007, 01:50

в  /z4.htm  написано что схема на транзисторах есть в апноуте AVR910.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва

Сообщение Myp » 17 фев 2007, 03:09

avr123.nm.ru писал(а):
Myp писал(а):нужен преобразователь интерфейса


от КОМ порта к USART  он тоже на 1 транзисторе как я выше писал.

только  к базе транзистора нужно подключить диод "черточкой" а другой вывод диода на землю.  сигнал подавать от КОМ через резистор 10 - 30 ком на базу транзистора.

коллектор соединить с RxD  и резистором 1ё0 ком подтянуть к +5 вольт питания МК.


блин
ну не надо меня за идиота то принимать
я вполне в курсе как мне законнектить два девайса
не настолько я ламер=) в радио кружок ходил и что значит чёрточка у диода представляю
я конечно ошибался,  но это из за того что недостаточно полно изучил вопрос =)

тока что вспомнил, у меняж есть преобразователь, я в AD заказывал, завтра запаяюсь если кондёры найду откуда отодрать.
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Сообщение Myp » 18 фев 2007, 19:50

вобщем продолжение истории

спаял схему на  adm561 запитал её от 3х вольт
померял тестером, если на вход Rx микрухи подавать ноль то на выходе Rx 2.8 вольт если подать напряжение на вход микрухи то на выходе получаеться ноль
тоесть если вручную то микруха  уровни инвертирует

подключил к кпк никакого эффекта, в кпк на ноге  Tx -5 воль, при передаче данных там +5 вольт
микруха всегда стабильно выдаёт 2.8 вольт

блин непонимаю в чём дело


собрал схему с транзистором
в принципе то что надо делает прицепил на выход светодиод светицца еле еле =/
когда кпк передаёт данные тухнет совсем
подскажите плиз какие резюки поставить чтоб номаный ток был(в апноету написано  4к7 а почему вы мне посоветовали 10к и 110к??)
у меня щас 110 килоом между +5 и коллектором
и 10 килоом на входе

попробовал поставить 4к7 между +5 и коллектором как в AVR910 всё равно, на глаз видно что светик тухнет но AVR в прерывание не заходит
когда подаёться единица от кпк на коллектор транзистора напряжение на ноге Rx AVR падает до 2.9 вольт
почитал http://avr123.nm.ru/02.htm пришёл к выводу что это много авр не  воспринимает что это ноль  :cry: чё делать чтоб опускалось ниже 2.9 ??
Последний раз редактировалось Myp 18 фев 2007, 20:40, всего редактировалось 3 раз(а).
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Сообщение avr123.nm.ru » 18 фев 2007, 20:22

Myp писал(а):спаял схему на  adm561 запитал её от 3х вольт
померял тестером, если на вход Rx микрухи подавать ноль то на выходе Rx 2.8 вольт  


выходы на COM это TxOUT  - на них должно быть напряжение в 2 раза больше питания - либо положительное, либо отрицательное.

входы от COM с права на рисунке в ДШ.

можете с лева микрухи соединыить выход со входом и в терминале виндоус символы переданые должны возвращаться обратно в терминал.

Myp писал(а): собрал схему с транзистором

а почему вы мне посоветовали 10к и 110к


ну там же видно - опеЧатка - оба по 10 ком можно поставить, можно и 4.7 - это не важно.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва

Пред.След.

Вернуться в Новичкам или основы основ роботостроения.

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0