Код обмена по RS-485 в CV_AVR (на базе кода Wizarda).

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
trail777
Родился
Сообщения: 1
Зарегистрирован: Ср сен 28, 2011 16:23:34

Код обмена по RS-485 в CV_AVR (на базе кода Wizarda).

Сообщение trail777 »

Задача: дополнить (видоизменить) код, чтобы получить работающие ф-и putchar(), getchar() в CV_AVR с интерфейсом RS485 (для тестирования функций получения/отправки символа с помощью терминала).

Исходные данные:
1)Работающий на прерываниях RX Complete, TX Complete (проверенный на железе) автоматич. код программы обмена по RS-232. Комп (RS232)==================RS232/USART0 MEGA2560.

2)Собранная схема: Комп ---RS232/RS485==========RS485/USART0 MEGA2560 (считаем что аппаратная часть схемы работает).

При переделке кода возможно потребуются:
- прерывание USART0_UDRE в добавок имеющимся USART0_RXC, USART0_TXC. (в коде уже присутствует функция обработчика в закомментированном виде).
- идентификаторы включения приема/передачи(TX() и RX() (уже описаны в коде)
- внесение паузы между приемом и передачей размером 1mc (2mc). //по совету Ю.Ревича t(сек)=1*10/9600, где 10 число бит в посылке, 9600 скорость обмена//

Примечание. Решение использовать (как основу) готовый код для работы с USART объясняется следующими причинами:
- функции обработчиков уже включают ф-и проверки переполнения буфера, защиты от ошибок;
- код проверен в работе (с RS232 работает надежно);
- позволяет использовать стандартные ф-и getchar(), putchar();
- автоматически инициализирует USART;
- экономит время написания программы.

Столкнулся с трудностями при реализации. Буду признателен, кто поможет решить данную задачу.
Вложения
27_09_11.c
Работающий на прерываниях RX Complete, TX Complete (проверенный на железе) автоматич. код программы обмена по RS-232. Комп (RS232)===RS232/USART0 MEGA2560.
(5.95 КБ) 362 скачивания
Реклама
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»