|
Работа TXC в USART, Не могу разобраться с флагом "окончание передачи", помогите |
|
|
|
 |
Ответов
|
Aug 21 2007, 04:53
|

Профессионал
    
Группа: Свой
Сообщений: 1 432
Регистрация: 7-12-04
Из: Новосибирск
Пользователь №: 1 371

|
Почему получается 2 прерывания по TXC при передачи 2-х байт не понял. может я не правильно помню и делаю иначе, но с таким не встречался. На память TXC возникает при пустом буфере и выдачи стопового бита. На я передачу делал так. 2 байта в буфер; включить UDRE по UDRE подкачивать данные если новых двнных нет, то выключить UDRE и включить TXC если TXC, то все переданно, переключиться на прием. и таких вещей Цитата как бонус даже межсимвольный интервал непроизвольно получается. у меня не было
--------------------
OrCAD, Altium,IAR, AVR....
|
|
|
|
|
Aug 21 2007, 10:59
|

Йа моск ;)
     
Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610

|
Цитата(arttab @ Aug 21 2007, 07:53)  Почему получается 2 прерывания по TXC при передачи 2-х байт не понял. может я не правильно помню и делаю иначе, но с таким не встречался. На память TXC возникает при пустом буфере и выдачи стопового бита. Безусловно. Прямо так и написано: Цитата The Transmit Complete (TXC) flag bit is set one when the entire frame in the Transmit Shift Register has been shifted out and there are no new data currently present in the transmit buffer Цитата На я передачу делал так. 2 байта в буфер; включить UDRE по UDRE подкачивать данные если новых двнных нет, то выключить UDRE и включить TXC если TXC, то все переданно, переключиться на прием.
и таких вещей у меня не было Ну в принципе даже разрешение TXC можно не дергать, если вы можете дать гарантию, что время реакции на UDRE не превысит времени передачи символа. Тогда TXC придет ТОЛЬКО ОДИН в конце пакета. Как раз, чтобы выключить передатчик на ADM485  Вообщем-то все культурно и правильно в камне. Работать в принципе по UDRE и надо, чтобы не было дырок между символами (они только уменьшают общую скорость передачи).
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
Aug 22 2007, 06:40
|

Нечётный пользователь.
     
Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417

|
Цитата(Rst7 @ Aug 21 2007, 12:59)  Ну в принципе даже разрешение TXC можно не дергать, если вы можете дать гарантию, что время реакции на UDRE не превысит времени передачи символа. Ещё можно тупо в прерывании UDRE - если производится запись очередного байта в UDR, то не глядя заодно сбрасывать флаг TXC. В суме это даёт меньше кода, чем разрешение/запрещение TXCIE и защищает от задержки отработки UDRE. Так как если были запрещены прерывания и UDRE не отработало своевременно, успел установиться флаг TXC, то при разрешении прерываний (выходе из другого прерывания) первым будет передано управление на UDRE_vect.
--------------------
Ну, я пошёл… Если что – звоните…
|
|
|
|
Сообщений в этой теме
Т.Достоевский Работа TXC в USART Aug 19 2007, 23:46 haker_fox Цитата(Т.Достоевский @ Aug 20 2007, 08:46... Aug 20 2007, 03:06 arttab Заслали Вы в буфер байт или 2 байта.
начинается пе... Aug 20 2007, 04:04 haker_fox Цитата(arttab @ Aug 20 2007, 13:04) Но пе... Aug 20 2007, 04:48 Т.Достоевский Цитата(arttab @ Aug 20 2007, 08:04) Засла... Aug 20 2007, 10:44  IEC Цитата(Т.Достоевский @ Aug 20 2007, 13:44... Aug 20 2007, 10:49   Т.Достоевский Цитата(IEC @ Aug 20 2007, 14:49) ВСЕГО ба... Aug 20 2007, 11:02    SasaVitebsk Цитата(Т.Достоевский @ Aug 20 2007, 14:02... Aug 20 2007, 14:56 vesago Для 485 я пользую следующие конструкции:
Код//POPT... Aug 20 2007, 07:06 Т.Достоевский Цитата(vesago @ Aug 20 2007, 11:06) Код#p... Aug 20 2007, 10:47  vesago Цитата(Т.Достоевский @ Aug 20 2007, 13:47... Aug 21 2007, 09:47 IEC Цитата(Т.Достоевский @ Aug 20 2007, 02:46... Aug 20 2007, 10:46 defunct ЦитатаРаботает только если после передачи первого ... Aug 20 2007, 15:46 Т.Достоевский Цитата(defunct @ Aug 20 2007, 19:46) Не н... Aug 20 2007, 20:11  SasaVitebsk Цитата(Т.Достоевский @ Aug 20 2007, 23:11... Aug 20 2007, 22:56  defunct Цитата(Т.Достоевский @ Aug 20 2007, 23:11... Aug 21 2007, 00:41   Т.Достоевский Цитата(defunct @ Aug 21 2007, 04:41) 2 TX... Aug 21 2007, 02:06   =GM= To defunct. Посмотрел на ваш код.
Цитата(defunct ... Aug 22 2007, 10:09    defunct Цитата(=GM= @ Aug 22 2007, 13:09) Одно ме... Aug 22 2007, 12:55     =GM= Цитата(defunct @ Aug 22 2007, 11:55) Да -... Aug 23 2007, 09:19      defunct Цитата(=GM= @ Aug 23 2007, 12:19) Посмотр... Aug 23 2007, 12:49       =GM= Цитата(defunct @ Aug 23 2007, 11:49) Есть... Aug 23 2007, 16:14        defunct Цитата(=GM= @ Aug 23 2007, 19:14) Ну-ну, ... Aug 23 2007, 17:54         =GM= Цитата(defunct @ Aug 23 2007, 17:54) Ваше... Aug 23 2007, 21:29          defunct Цитата(=GM= @ Aug 24 2007, 00:29) Мой при... Aug 23 2007, 21:57           =GM= Цитата(defunct @ Aug 23 2007, 21:57) Уж н... Aug 23 2007, 22:22            defunct Цитата(=GM= @ Aug 24 2007, 01:22) Ну, это... Aug 23 2007, 22:41             =GM= Открыл новую тему на предмет написания и использов... Aug 24 2007, 20:19  defunct Цитата(Rst7 @ Aug 21 2007, 13:59) Вообщем... Aug 21 2007, 11:47   Rst7 Цитата(defunct @ Aug 21 2007, 14:47) Они ... Aug 21 2007, 11:59    defunct Цитата(Rst7 @ Aug 21 2007, 14:59) Обоснуй... Aug 21 2007, 15:48     Rst7 Цитата(defunct @ Aug 21 2007, 18:48) Ну н... Aug 22 2007, 05:20  IEC Цитата(Rst7 @ Aug 21 2007, 13:59) Работат... Aug 21 2007, 13:42 Igor26 ЦитатаЧто вы понимаете под словом "отладчик... Aug 21 2007, 05:19 WHALE А AVRSTUDIO че не пользуете?Такие вещи там нормаль... Aug 21 2007, 06:10 Т.Достоевский Цитата(WHALE @ Aug 21 2007, 10:10) А AVRS... Aug 21 2007, 09:44  Maik-vs Цитата(Т.Достоевский @ Aug 21 2007, 13:44... Aug 21 2007, 13:59   WHALE Цитата(Maik-vs @ Aug 21 2007, 17:59)... Aug 21 2007, 17:45    Maik-vs Цитата(WHALE @ Aug 21 2007, 21:45) Дык у ... Aug 22 2007, 06:13 SasaVitebsk А я был очень рад увидеть два флага. Наверное посл... Aug 21 2007, 20:29 SasaVitebsk =GM=, при всём уважении к Вашим знаниям давайте бу... Aug 23 2007, 18:16 WHALE ЦитатаРекурсия – это сведение вычисления задачи не... Aug 23 2007, 18:42 Т.Достоевский С новым камнем всё заработало. Проблема была не с ... Aug 27 2007, 21:29 Rst7 Цитата(Т.Достоевский @ Aug 28 2007, 00:29... Aug 28 2007, 05:16  Maik-vs Цитата(Rst7 @ Aug 28 2007, 09:16) 2 раза ... Aug 28 2007, 09:24
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|