Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 28.09.2011, 21:46  
trail777
Прохожий
 
Регистрация: 04.06.2011
Сообщений: 1
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
trail777 на пути к лучшему
По умолчанию Обмен данными по RS-485 в CodeVisionAVR (на базе кода Wizarda)

Задача: дополнить (видоизменить) код на С (в CodeVisionAvr) , чтобы получить работу функций приема/передачи (getchar, putchar) по RS485. Тестирование функций - с помощью терминала по схеме: Комп/RS232/RS485==========RS485/USART0 MEGA2560.

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

2) Собранная схема: Комп /RS232/RS485==========RS485/USART0 MEGA2560 (считаем что аппаратная часть схемы работает). Переключение прием/передача с помощью вывода PE7.

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

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

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

Столкнулся с трудностями при реализации. Буду признателен, кто поможет решить данную задачу.
Вложения:
Тип файла: txt CodeVision_RS323.txt (6.0 Кб, 207 просмотров)
Реклама:
trail777 вне форума  
Непрочитано 29.09.2011, 09:48  
uk8amk
Вид на жительство
 
Регистрация: 05.07.2006
Адрес: Tashkent
Сообщений: 454
Сказал спасибо: 24
Сказали Спасибо 67 раз(а) в 44 сообщении(ях)
uk8amk на пути к лучшему
По умолчанию Re: Обмен данными по RS-485 в CodeVisionAVR (на базе кода Wizarda)

Описание задачи чем-то смахивает на задание для самостоятельной работы.

Цитата:
Столкнулся с трудностями при реализации.
Какие конкретно у вас трудности?

Я не вижу почти ничего, кроме кода, автоматом сгенеренного визардом.

Нужно добавить еще один таймер, настроенный на переполнение примерно на 1мсек. Этот таймер будет запускаться обработчиком TXC. В обработчике таймера будете проверять, пуст ли буфер передачи. Если пуст, то включаем прием(RX) и отключаем этот таймаут.

ЗЫ. В режиме передачи у многих чипов интерфейса 485 выход R переходит в высокоомное состояние. Поэтому чтобы при не ловить всякий мусор к нему нужна подтяжка(внутреняя или внешняя).
uk8amk вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Быстрый обмен данными. kos_ua Микроконтроллеры, АЦП, память и т.д 4 05.10.2009 14:38
Обмен данными ПИКа с внешней флэш Boris_Britva Микроконтроллеры, АЦП, память и т.д 2 18.06.2008 11:19


Часовой пояс GMT +4, время: 18:23.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot