Sasha75 0 16 июня, 2011 Опубликовано 16 июня, 2011 · Жалоба Странная багофича(?) в LPC1114: Прерывание AAD (Auto Address Detect для RS485) срабатывает в ЛЮБОМ случае: 1. если хостом передан байт, совпадающий с ADRMATCH с установленным 9-м битом четности (правильно) 2. если хостом передан байт совпадающий с ADRMATCH в 8-ми битовом режиме без бита четности (ложное срабатывание) Так и было задумано в NXP? То есть, если используются RS485 функции, то весь трафик должен вестись в 9-битовом режиме? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ZyBEX 0 17 июня, 2011 Опубликовано 17 июня, 2011 · Жалоба Это задумано не NXP. Если нужен детект адреса, то передавать нужно только в 9-битном режиме, устанавливая 9-й бит в байте адреса. Если же передаешь в 8-битном режиме со включенным автодетектом, он будет срабатывать на стоп-бит, который для него будет девятым. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 17 июня, 2011 Опубликовано 17 июня, 2011 · Жалоба Добавлю: почитайте про асинхронную передачу данных, прежде чем искать баги там, где их нет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Sasha75 0 19 июня, 2011 Опубликовано 19 июня, 2011 · Жалоба Это задумано не NXP. Если нужен детект адреса, то передавать нужно только в 9-битном режиме, устанавливая 9-й бит в байте адреса. Если же передаешь в 8-битном режиме со включенным автодетектом, он будет срабатывать на стоп-бит, который для него будет девятым. Спасибо. Я понял. что комбинировать 8 и 9 бит в одном протоколе не прокатит. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться