|
Гарантия того, что по USART все данные ушли |
|
|
|
Jan 14 2010, 10:27
|
Участник

Группа: Участник
Сообщений: 19
Регистрация: 14-12-07
Из: Беларусь, Гомель
Пользователь №: 33 305

|
Здравствуйте, не могли бы вы разъяснить такую ситуацию? Перед входом в спящий режим мне нужно убедиться, что все данные ушли в линию. Для этого есть флаг ТХС. В даташите сказано: Флаг устанавливается в 1 после передачи всех битов посылки из сдвигового регистра передатчика при условии, что в регистр данных UDR не было загружено новое значение. Флаг сбрасывается аппаратно при выполнении подпрограммы обработки прерывания или программно, записью в него лог. 1
Прерываний я не активировал, т.е. получается что после первой передачи, когда данные ушли, и в буфер я данных для отсылки не заносил, этот флаг установится в 1 и больше никогда не сбросится? Если да, то получается, что после каждой передачи мне нужно программно сбрасывать этот бит?
|
|
|
|
|
 |
Ответов
|
Jan 22 2010, 20:18
|
Местный
  
Группа: Свой
Сообщений: 256
Регистрация: 6-03-06
Из: Украина, г. Винница
Пользователь №: 15 017

|
Что ж тут непонятного. Время на передачу байта фиксированное. Оно и используется в качестве таймера. А байт дальше драйвера 485 не уйдет. На быcтрую руку примерно так: По RxC: UDR = dummy; TimeOut = 0; По TxC: if (++TimeOut <= N) {UDR = dummy;} else {DoOnTimeOut} N, по моему, должен быть равен 4. таким образом обнаруживается пауза > (4T...5T) (т.е. не факт, что пауза 4,5Т будет обнаружена) P.S. Можно в качестве dummy-байта взять 0x0F. ТОгда получим фронт в середине байта на 0,5Т. И выход Tx завести на прерывание (по фронту). ТОгда можно будет обнаруживать паузы > (3,5Т...4,5Т). Но надо ли?
|
|
|
|
|
Jan 29 2010, 18:26
|

неотягощённый злом
     
Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643

|
Цитата(_Pasha @ Jan 23 2010, 08:02)  Проще надо быть с модбасом  Товарищи! Возник у меня ещё один вопрос про modbus. Хотелось бы узнать какие-нибудь элегантные способы решения проблемы поддержания функционирования стандартных функций чтения-записи регистров и коилов в контексте 8-ми битного little-endian MCU. Я решаю сейчас данную закавыку через remap-таблицу во FLASH. Она зараза большая становится, когда много данных нужно ремапить, да и нудно её редактировать (хоть всё уже и так через макросы зафигачено). Я уже и так и сяк, но ничего другого выдумать не могу. Прошу ALL не стеснятся и высказывать любые здравые предложения! Спасибо!
--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
|
|
|
|
Сообщений в этой теме
admiral Гарантия того, что по USART все данные ушли Jan 14 2010, 10:27 Rst7 ЦитатаЕсли да, то получается, что после каждой пер... Jan 14 2010, 10:45 admiral Цитата(Rst7 @ Jan 14 2010, 14:45) По наук... Jan 14 2010, 11:29 Rst7 ЦитатаСпасибо, а если неизвестно последний это бай... Jan 14 2010, 11:32 Палыч Цитата(Rst7 @ Jan 14 2010, 13:45) По наук... Jan 14 2010, 11:38 Rst7 ЦитатаВыкручивался из этой ситуации сбросом TХC по... Jan 14 2010, 11:49 Палыч Цитата(Rst7 @ Jan 14 2010, 14:49) Но уж л... Jan 14 2010, 12:07  defunct Цитата(Палыч @ Jan 14 2010, 14:07) Кстати... Jan 14 2010, 12:33   Палыч Цитата(defunct @ Jan 14 2010, 15:33) Не з... Jan 14 2010, 13:04    Qwertty Цитата(Палыч @ Jan 14 2010, 16:04) Поясню... Jan 14 2010, 13:42    _Pasha Цитата(Палыч @ Jan 14 2010, 17:04) 1. Дан... Jan 14 2010, 13:59    defunct Цитата(Палыч @ Jan 14 2010, 15:04) Это-то... Jan 14 2010, 18:08     _Pasha Цитата(defunct @ Jan 14 2010, 22:08) Флаг... Jan 14 2010, 18:53      defunct Цитата(_Pasha @ Jan 14 2010, 20:53) 1) от... Jan 14 2010, 19:37       Qwertty Цитата(defunct @ Jan 14 2010, 22:37) А за... Jan 14 2010, 20:58     Палыч Цитата(defunct @ Jan 14 2010, 21:08) В си... Jan 15 2010, 08:12      defunct Цитата(Палыч @ Jan 15 2010, 10:12) Да и ... Jan 15 2010, 11:54       demiurg_spb Цитата(defunct @ Jan 15 2010, 14:54) В Mo... Jan 21 2010, 11:10        _Pasha Цитата(demiurg_spb @ Jan 21 2010, 15:10) ... Jan 21 2010, 11:32         demiurg_spb А я вот всё больше и больше склоняюсь к тому что э... Jan 21 2010, 12:03         demiurg_spb Цитата(_Pasha @ Jan 21 2010, 14:32) Никак... Jan 22 2010, 18:26        defunct Цитата(demiurg_spb @ Jan 21 2010, 13:10) ... Jan 21 2010, 17:28 V_G На мой взгляд, как раз широкое использование преры... Jan 14 2010, 12:43 Rst7 ЦитатаНа мой взгляд, как раз широкое использование... Jan 14 2010, 12:48 admiral Объясню ситуацию:
делаю устройство, т.к. питаться ... Jan 14 2010, 12:57 ILYAUL Цитата(admiral @ Jan 14 2010, 15:57) И во... Jan 14 2010, 15:16 defunct Цитата(admiral @ Jan 14 2010, 14:57) Прер... Jan 14 2010, 17:30 V_G Посмотрел на симуляторе - у меня флаг TXC сброшен ... Jan 14 2010, 13:31 Палыч Цитата(Rst7 @ Jan 14 2010, 15:48) Тут нем... Jan 14 2010, 13:48  Qwertty Цитата(Палыч @ Jan 14 2010, 16:48) Значит... Jan 14 2010, 13:57 SysRq Цитата(admiral @ Jan 14 2010, 15:57) Объя... Jan 14 2010, 17:44 Maik-vs RS485, скорости до 115200. Делаю так же: формирую ... Jan 14 2010, 19:03 HALFer admiral,
если "правильность" софта не пу... Jan 14 2010, 20:35 admiral Цитата(HALFer @ Jan 15 2010, 00:35) admir... Jan 18 2010, 07:31  Maik-vs Цитата(admiral @ Jan 18 2010, 10:31) Я та... Jan 20 2010, 12:35 SysRq Цитата(_Pasha @ Jan 14 2010, 21:53) 1) от... Jan 15 2010, 06:45 _Pasha Цитата(SysRq @ Jan 15 2010, 10:45) Если в... Jan 15 2010, 07:48 SysRq Цитата(_Pasha @ Jan 15 2010, 10:48) Объяс... Jan 15 2010, 08:02 _Pasha А кто как борется с коллизиями?
RXE всегда включен... Jan 15 2010, 09:23 Палыч Цитата(_Pasha @ Jan 15 2010, 12:23) А кто... Jan 15 2010, 09:43 V_G Цитата(_Pasha @ Jan 15 2010, 19:23) А кто... Jan 15 2010, 10:59 Александр Куличок ЦитатаЕсли же флаг сбрасывать при загрузке UDR, то... Jan 20 2010, 22:47 Maik-vs Цитата(Александр Куличок @ Jan 21 2010, 01... Jan 31 2010, 14:54   _Pasha Цитата(demiurg_spb @ Jan 29 2010, 21:26) ... Jan 30 2010, 03:05    demiurg_spb Цитата(_Pasha @ Jan 30 2010, 06:05) 1. На... Jan 30 2010, 10:46     _Pasha Цитата(demiurg_spb @ Jan 30 2010, 13:46) ... Jan 31 2010, 05:24      demiurg_spb Цитата(_Pasha @ Jan 31 2010, 08:24) Поток... Jan 31 2010, 11:13 Александр Куличок Речь шла о флаге TXC. И о возможности отслеживания... Jan 31 2010, 21:31 sitafern Пользуюсь простым алгоритмом при реализации Modbus... Jan 31 2010, 22:26
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|