Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Вопросы по USART
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Oleg_IT
Имеется многобайтная передача, очередной байт передаётся в обработчике прерывания по опустошению регистра передачи.
В процедуре обработки этого прерывания, в определённый момент после записи в регистр данных очередного байта изменяю конфигурацию, например, снимаю бит UCSZ2. Чего-то я запутался с тем, как этот очередной байт будет передан, как 8 бит или 9?
prottoss
Цитата(Oleg_IT @ Nov 7 2006, 15:27) *
Имеется многобайтная передача, очередной байт передаётся в обработчике прерывания по опустошению регистра передачи.
В процедуре обработки этого прерывания, в определённый момент после записи в регистр данных очередного байта изменяю конфигурацию, например, снимаю бит UCSZ2. Чего-то я запутался с тем, как этот очередной байт будет передан, как 8 бит или 9?
Честно говоря, трудно предположить, что там будет... Вы сами то пробовали? ИМХО лучше изменять конфигурацию USART не по событию опустошения UDR, а по событию окончания передачи RXC. Тогда и UDR будет пустой и в трамплине передатчика символов не будет. Можно менять что хочешь. А так, представьте, возникло событие - UDR пустой, значит символ полетел по трамплину. В это время программа меняет конфигурацию USART - хрен знает, что там с лыжами у символа стало)))
Miron
Логичнее и правильнее сначала изменить конфигурацию а потом записать байт в регист данных
Oleg_IT
Спасибо. Попробую эти варианты.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.