troyt777
1

Обмен данными по RS-485 в CodeVisionAVR (на базе кода Wizard

27.09.2011, 23:13. Показов 5464. Ответов 2
Метки нет (Все метки)

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

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

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

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

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

Столкнулся с трудностями при реализации. Буду признателен, кто поможет решить данную задачу.

[6.04 Кб]
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.09.2011, 23:13
Ответы с готовыми решениями:

Обмен данными между МК через RS-485 (MAX487)
Доброго времени суток. Сразу к делу: В сообщении прикреплено фото и файл исходного кода...

Обмен данными c ПЛК Moeller-SC-CPU-201 (CodeSys) по Modbus-протоколу в сети RS-485
Добрый день! Прошу помощи, уже отчаялся искать в чем проблема: Есть ПЛК moeller-xc-cpu-201,...

Проблема с обменом данными по RS-485
Доброго времени суток. Пытаюсь наладить обмен данными между мегой с ADM485 и промышленным датчиком...

IDE CodeVisionAVR Пропала область отображения кода
Драсте! Подскажите, как восстановить? Нажимаю на файл *.c не помогает

2
0 / 0 / 0
Регистрация: 01.11.2010
Сообщений: 213
27.09.2011, 23:41 2
ну если МК будет слейв, то его нужно держать в режиме приема. когда нужно отравить байт (путчар): делаешь TX() (твой макрос), записываешь данные в выходной буфер, там же взводишь таймер на 2 мс. по прерыванию таймера из буфера выталкиваешь байт в порт. по прерыванию UDRE (данные отправились) переводишь режим работы опять на прием. опять же нужно учесть 2 мс (для пущей надежности запретить на это время прием, чтоб не принять мусор). ну и, конечно, со сторона компа выдерживать 2 мс после приема, перед тем как слать данные.
0
0 / 0 / 0
Регистрация: 01.11.2010
Сообщений: 213
27.09.2011, 23:43 3
для уменьшения размера прерывания (чтобы не работать с буфером в прерывании, ибо это достаточно долго, в функции путчар достаешь нужный байт, пихаешь его в глобальную переменную. а по прерыванию таймера просто эту переменную суешь в UDR. и она отправляется.
0
27.09.2011, 23:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.09.2011, 23:43
Помогаю со студенческими работами здесь

Проверка подключения RS-485 через преобразователь USB/RS-485
Добрый вечер, форумчане! Я относительно навичек софт-программист, и уж тем более навичек в...

Замена кода в console wizard на код в C++ builder
#include <vcl.h> #include<iostream.h> #include<string.h> #pragma argsused int main(int argc,...

Обмен данными
Привет всем! У меня возникла такая проблема - нет пункта в меню "сервис" - "обмен данными". Версия...

Обмен данными
Прошу помощи тех, кто имеет опыт обмена данными между разными конфигурациями. Есть внешняя...

Обмен данными с 1С 8.2
Пишу программу для выгрузки товаров из 1С 8.2 Управление торговлей 11 на сервер MySql. Получаю...

Обмен данными
В планах обмена при выгрузке данных у нас удаляются...

Обмен данными
Всем доброго времени суток! У меня такая ситуация: Учет в ЗУП ведется в демонстрационной базе...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru