Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 28.03.2017, 12:15  
STM32F0
Заблокирован
 
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
STM32F0 на пути к лучшему
По умолчанию Re: Время передачи 1 байта USART

Да бред всё это... и свой протокол тоже. ТС партизанит и он сам не знает что он хочет. Здесь вообще разговор в общем и ни о чём.
Реклама:
STM32F0 вне форума  
Непрочитано 28.03.2017, 12:40  
eenote
Частый гость
 
Регистрация: 11.02.2017
Сообщений: 25
Сказал спасибо: 11
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
eenote на пути к лучшему
По умолчанию Re: Время передачи 1 байта USART

Сообщение от nml Посмотреть сообщение
Отсутствие передачи, imho, ненадежно.
Modbus RTU работает по этому принципу.
eenote вне форума  
Непрочитано 28.03.2017, 16:05  
hacker7
Вид на жительство
 
Регистрация: 07.01.2007
Адрес: Ленинградская обл
Сообщений: 428
Сказал спасибо: 147
Сказали Спасибо 71 раз(а) в 56 сообщении(ях)
hacker7 на пути к лучшему
По умолчанию Re: Время передачи 1 байта USART

...или посмотрел бы, а может, задача такова, что факт "окончания" неважен.
По мере поступления их нельзя обрабатывать? Например, если не успевает,загонять в очередь к другому процессу (процу) и т п
Потом, "обрезанные" данные тоже могут быть информативными.
hacker7 вне форума  
Непрочитано 28.03.2017, 16:41  
pisetsky
Прописка
 
Аватар для pisetsky
 
Регистрация: 09.06.2009
Адрес: Саров
Сообщений: 135
Сказал спасибо: 1,321
Сказали Спасибо 338 раз(а) в 79 сообщении(ях)
pisetsky на пути к лучшему
По умолчанию Re: Время передачи 1 байта USART

Если речь идет именно об UART, причем работает он в асинхронном режиме (байт-ориентированный, ежели чо), то:
1. Спереди к байту добавляется стартовый бит (+1)
2. Сзади к байту добавляется (или нет - как заказали) четность (+1) и 1-1.5-2 стоповых (+1 или +1,5 или +2 - как запрограммировали)
Итого, байт "обкладывают" со всех сторон от 2 до 4 служебных бит.
3. А интервал между байтами - сверху - ничем не ограничен (на уровне UART)! Его может ограничивать протокол, но об нем речь не шла! Так что можно ждать следующего байта и до обеда...
__________________
Качество программы измеряется в количествах "Что за..." на 10 шагов отладки...
pisetsky вне форума  
Непрочитано 28.03.2017, 16:53  
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,258
Сказал спасибо: 11,170
Сказали Спасибо 3,859 раз(а) в 2,929 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: Время передачи 1 байта USART

Тут ожидание больше похоже на "до морковкина заговенья" .
Пока ТС не расскажет в подробностях про свои условия - только осадок от кофе.
Да и название темы таки стоит ему поправить.
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
mike-y-k вне форума  
Непрочитано 28.03.2017, 19:33  
NewWriter
Заблокирован
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,221 раз(а) в 1,319 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: Время передачи 1 байта USART

Сообщение от eenote Посмотреть сообщение
Modbus RTU работает по этому принципу.
У модбаса в заголовке указано число передаваемых байт, а в конце - контроньная сумма.
Кароче говоря, основные способы таковы:
- число пересылаемых байт определено заранее протоколом и фиксировано.
- число передаваемых байт передается в заголовке, заголовок фиксированной длины.
- конец передачи определяется по специальному оговоренному символу или нескольким символам. типичный пример - GPS-приемники или GSM-модемы, некоторые устройства. обмен инфой идет в ASCII-синтаксисе, обычным текстом
NewWriter вне форума  
Непрочитано 28.03.2017, 21:06  
AR_Favorit
Почётный гражданин KAZUS.RU
 
Регистрация: 13.03.2010
Сообщений: 2,897
Сказал спасибо: 498
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
AR_Favorit на пути к лучшему
По умолчанию Re: Время передачи 1 байта USART

Сообщение от NewWriter Посмотреть сообщение
У модбаса в заголовке указано число передаваемых байт
Не надо болтать ерундой. Modbus RTU - не имеет никакого числа передаваемых данных. И конец фрейма определяется именно по "тишине" в течение времени, соответствующего времени передачи 14 бит.

Сообщение от NewWriter Посмотреть сообщение
- конец передачи определяется по специальному оговоренному символу или нескольким символам. типичный пример - GPS-приемники или GSM-модемы
например, в случае с GSM-модемом, специально оговоренными символами строка не только заканчивается, но и начинается, что приводит к необходимости лишних неудобных телодвижений для определения, получили ли только начало строки и надо не рыпаться, поскольку вот-вот насыплется еще всякоразных символов, либо получили конец, и можно пойти поразбираться, что там нам пришло)

Последний раз редактировалось AR_Favorit; 28.03.2017 в 21:10.
AR_Favorit вне форума  
Непрочитано 28.03.2017, 21:18  
supercelt
Прописка
 
Регистрация: 29.03.2007
Сообщений: 185
Сказал спасибо: 11
Сказали Спасибо 1 раз в 1 сообщении
supercelt на пути к лучшему
По умолчанию Re: Время передачи 1 байта USART

Да уже писал похожую тему, то ли тут, то ли не тут. Вобщем смысл такой, что я принимаю ответ от модема по usart. RTS, CTS на модеме нет. только Rx, Tx, и Gnd. Так что мне надо как-то без них железно распознать, что закончилась передача. Хотя вы правы. что сказали, ежели модем отвалится и мк как бы распознает конец передачи. Но это уже другая история. Есть одна особенность, почти каждое принимаемое сообщение содержит в конце ответа "\r\nOK\r\n". Можно было бы сделать strstr поискать подстроку. Но получается тогда, что надо это проверять после каждого принятого байта. Строковая функция наверное прожорлива. И к тому же вот встанет такая задача - принимать и СМС. А в СМС легко может кто-то по тексту просто написать OK, да ещё и с символами новой строки. Это конечно мало вероятно, но всё-таки надо учитывать. Вот и думаю, как гарантировано понять что пришло всё.
supercelt вне форума  
Непрочитано 28.03.2017, 22:00  
OakRidge
Почётный гражданин KAZUS.RU
 
Аватар для OakRidge
 
Регистрация: 16.05.2015
Адрес: Болгария
Сообщений: 1,460
Сказал спасибо: 286
Сказали Спасибо 1,125 раз(а) в 540 сообщении(ях)
OakRidge на пути к лучшему
По умолчанию Re: Время передачи 1 байта USART

Ну делал. Мастер звал слейва. А его можно быть небыло.
Следил за временем ответа. Больше какогото времени ответа с слейва нету. Звал следующего.
Разумеестся CRC ответа критерий фальшивки.
Не доделал, контора бахнулась. Ушел. Так и осталось, на 3/4 сделано недосделано
Берите CAN BUS, несмотря на дороговизну. Легче будет !
OakRidge вне форума  
Непрочитано 28.03.2017, 23:19  
supercelt
Прописка
 
Регистрация: 29.03.2007
Сообщений: 185
Сказал спасибо: 11
Сказали Спасибо 1 раз в 1 сообщении
supercelt на пути к лучшему
По умолчанию Re: Время передачи 1 байта USART

попробовал сделать по прерыванию IDLE. Штука хорошая, но как только встретит в строке символ \n, выкидывает прерывание. А этот символ, встречается и в середине строки вот так-то((((
supercelt вне форума  
 

Закладки
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Слияние 4х потоков USART insiderbik Микроконтроллеры, АЦП, память и т.д 109 28.03.2013 16:50
Как 4 байта, принятых по USART превратить в число формата long int Black Jack Микроконтроллеры, АЦП, память и т.д 2 06.06.2012 21:32
USART MEGA8 yuta_86 Микроконтроллеры, АЦП, память и т.д 23 12.02.2012 04:30
USART (PIC): как сделать низкий уровень на TX после посылки? mxsimus Микроконтроллеры, АЦП, память и т.д 2 27.03.2008 13:07
USART Tiny2313 avrastorguev Микроконтроллеры, АЦП, память и т.д 2 04.03.2006 02:59


Часовой пояс GMT +4, время: 19:33.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot