Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Ложное срабатывание RS485 AAD в LPC1114?
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Sasha75
Странная багофича(?) в LPC1114:
Прерывание AAD (Auto Address Detect для RS485) срабатывает в ЛЮБОМ случае:
1. если хостом передан байт, совпадающий с ADRMATCH с установленным 9-м битом четности (правильно)
2. если хостом передан байт совпадающий с ADRMATCH в 8-ми битовом режиме без бита четности (ложное срабатывание)
Так и было задумано в NXP? То есть, если используются RS485 функции, то весь трафик должен вестись в 9-битовом режиме?
ZyBEX
Это задумано не NXP. Если нужен детект адреса, то передавать нужно только в 9-битном режиме, устанавливая 9-й бит в байте адреса. Если же передаешь в 8-битном режиме со включенным автодетектом, он будет срабатывать на стоп-бит, который для него будет девятым.
scifi
Добавлю: почитайте про асинхронную передачу данных, прежде чем искать баги там, где их нет.
Sasha75
Цитата(ZyBEX @ Jun 17 2011, 11:48) *
Это задумано не NXP. Если нужен детект адреса, то передавать нужно только в 9-битном режиме, устанавливая 9-й бит в байте адреса. Если же передаешь в 8-битном режиме со включенным автодетектом, он будет срабатывать на стоп-бит, который для него будет девятым.

Спасибо. Я понял. что комбинировать 8 и 9 бит в одном протоколе не прокатит.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.