Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: AVR+AD485
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
cheetah
День добрый.

Такая проблема:
Есть система ATmega32+AD485. Направление приема/передачи управляется от ATmega32.
Возникла ситуация….при передачи информации, необходимо выждать паузу после передачи последнего байта, перед переключением AD485 в режим приема.
В принципе проблему решаю достаточно тупо- подобрал задержку после передачи последнего байта, а потом переключаю AD485 в режим приема. Но…. Есть необходимость менять скорость обмена, а следовательно необходимо и менять величину задержки. Ставить, такую что бы она удовлетворяла минимальной скорости, а следовательно и максимальной – не подходит, так как можно пропустить информацию от удаленной системы.
Использовать флаг об окончании передачи; флаг о том что буфер пустой и т.д. – ничего не помогает.

Какие будут советы?
andrvisht
А таймер использовать жалко ?
Задержку можно по данным делителя Baund рассчитывать. Хоть таймером, хоть подпрограммой.
cheetah
Цитата(&-rey @ Sep 6 2005, 14:08)
А таймер использовать жалко ?
Задержку можно по данным делителя Baund рассчитывать. Хоть таймером, хоть подпрограммой.
*

в принципе я почит так и сделал.
только использовал не таймер, а задержку в виде макроса с параметром, а параметр зависит от скорости
andrvisht
Для длинных линий также рекомендуется выжидать 2.5 байта после включения на прием перед отправкой. Устраняет ложные приемы от висячей линии.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.