|
Работа 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 21 2007, 11:47
|

кекс
     
Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326

|
Цитата(Rst7 @ Aug 21 2007, 13:59)  Вообщем-то все культурно и правильно в камне. Работать в принципе по UDRE и надо, чтобы не было дырок между символами (они только уменьшают общую скорость передачи). Они (всмысле межсимвольные интервалы) добавляют стабильности передачи. В Modbus - межсимвольный интервал is a MUST. А скорость, кому она нужна в 485? Цитата Почему получается 2 прерывания по TXC при передачи 2-х байт не понял. Потому что отправляется два символа. После отправки каждого генерится TXC, если игнорировать UDRE.
|
|
|
|
|
Aug 21 2007, 11:59
|

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

|
Цитата(defunct @ Aug 21 2007, 14:47)  Они (всмысле межсимвольные интервалы) добавляют стабильности передачи. Обоснуйте? Цитата В Modbus - межсимвольный интервал is a MUST. Межпакетный да, а вот межсимвольный??? Можно цитату? Цитата А скорость, кому она нужна в 485? Ну не скажите... Разные случаи есть..
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
Aug 21 2007, 15:48
|

кекс
     
Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326

|
Цитата(Rst7 @ Aug 21 2007, 14:59)  Обоснуйте? Ну например - передатчик работает 8-1-N, а приемник включили 8-2-N. С отправкой "по TXC" с большой долей вероятности ошибок приема не будет. Цитата Межпакетный да, а вот межсимвольный??? Можно цитату? Таки действительно органичение "снизу" только на межпакетный - "Character gap interval". На межсимвольный "silent interval" ограничение "сверху": Цитата The entire message must be transmitted as a continuous stream. If a silent interval of more than 1.5 character times occurs before completion of the frame (not a continuous stream), the receiving device flushes the incomplete message and assumes the next byte will be the address field of a new message. источник: http://www.sena.com/download/tutorial/tech_Modbus_v1r0c0.pdf (150k) cм. секцию 5.2 Цитата Ну не скажите... Разные случаи есть.. Может быть, но мне что-то такие случаи в сетях 485 не подворачивались.
|
|
|
|
|
Aug 22 2007, 05:20
|

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

|
Цитата(defunct @ Aug 21 2007, 18:48)  Ну например - передатчик работает 8-1-N, а приемник включили 8-2-N. С отправкой "по TXC" с большой долей вероятности ошибок приема не будет. Так включите и в передатчике 9 бит с установленным девятым битом... А ручные задержки для добавления бита - это моветон... А задержки, которые еще и неизвестно какой длительности (ну сколько времени там будет от TXC до записи в UDR) - как говорится, это ваще  Цитата Таки действительно органичение "снизу" только на межпакетный - "Character gap interval". На межсимвольный "silent interval" ограничение "сверху": источник: http://www.sena.com/download/tutorial/tech_Modbus_v1r0c0.pdf (150k) cм. секцию 5.2 Посему оптимально будет посылка именно без интервалов. Цитата Может быть, но мне что-то такие случаи в сетях 485 не подворачивались. Ну надо минимизировать время опроса в сети при ограничении битовой скорости. Вот и весь случай.
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
Сообщений в этой теме
Т.Достоевский Работа 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  IEC Цитата(Rst7 @ Aug 21 2007, 13:59) Работат... Aug 21 2007, 13:42  ReAl Цитата(Rst7 @ Aug 21 2007, 12:59) Ну в пр... Aug 22 2007, 06:40 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
|
|
|