roboforum.ru

Технический форум по робототехнике.


помогите создать программу для avr

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

помогите создать программу для avr

Сообщение Yankee11 » 25 мар 2015, 09:05

Для мега16 чтоб через uart можно можно было логическим состоянием пинов портов
Последний раз редактировалось Yankee11 25 мар 2015, 11:59, всего редактировалось 1 раз.
Yankee11
 
Сообщения: 9
Зарегистрирован: 21 мар 2011, 14:40
Откуда: Тольятти

Re: помогимте создать программу для avr

Сообщение avr123.nm.ru » 25 мар 2015, 10:09

попробуйте краткий курс http://www.proavr.narod.ru и задачи 5 и 13, рекомендую использовать arduino micro leonardo или arduino nano http://www.mkpochtoi.ru чтоб избежать пайки. и еще симулятор proteus
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: помогите создать программу для avr

Сообщение RootAdmin » 25 мар 2015, 14:14

Ха. Скетч кинуть под ардуино?
Там правда еще управление двигателем - но его при желании уже самостоятельно выпилите.
Дым, идущий из всех устройств в помещении предвещает появление электрика.
RootAdmin
 
Сообщения: 1725
Зарегистрирован: 07 авг 2010, 21:29
Откуда: КМВ
прог. языки: C
ФИО: Андрей

Re: помогите создать программу для avr

Сообщение Yankee11 » 25 мар 2015, 19:46

Суть проекта заключается в присоединении мк к роутеру и управлении логическим состоянием пинов мк посредством уарт. В программировании начинающий. Если можно, объяснить просто или на примерах как можно создать подобную прошивку из кусков кода
Yankee11
 
Сообщения: 9
Зарегистрирован: 21 мар 2011, 14:40
Откуда: Тольятти

Re: помогите создать программу для avr

Сообщение RootAdmin » 26 мар 2015, 14:50

Попробую объяснить.
Итак, определяем пременные, настраиваем порты ввода-вывода, настраиваем UART


Настраиваем прерывание на прием байта по uart. В прерывании - в зависимости от счетчика-указателя байта команды (то есть - передается сначала имя команды,например код символа "W", после приема полного имени команды либо символа конца имени, пробела например) вычисляется ожидаемая длина данных.
Проверяется счетчик таймаута команды (если нужен), если не запущен и символ первый - запускаем.
Инкрементим указатель(счетчик символов) текущей команды, записываем принятый байт в позицию указателя в массив команды. Если символ = окончание данных и длина данных соответствует ожидаемой - то взводим флаг выполнения (или переписываем массив команды в массив выполнения.

в основном цикле проверяем не пуст ли массив выполнения и не взведн ли флаг (переменная) готовности команды, выполняем ее.

Команды можно определить как состоящие например из четырех символов:
1. Имя команды. W - запись (byte)
2. Номер вывода (byte)
3. Что записать (byte) байт конечно. Хотя - если выводов меньше 127 то можно использовать старший бит из 3 символа и сэкономить время
4. конец команды, символ 13 например (byte) сам использую, чтоб из терминала тестировать.
После приема и выполнения команды контроллер может что-нибудь ответить - тут все зависит от фантазии и потребностей.
Дым, идущий из всех устройств в помещении предвещает появление электрика.
RootAdmin
 
Сообщения: 1725
Зарегистрирован: 07 авг 2010, 21:29
Откуда: КМВ
прог. языки: C
ФИО: Андрей

Re: помогите создать программу для avr

Сообщение Yankee11 » 26 мар 2015, 21:09

Да, то что нужно. Благодарю. Осталось перевести все в код
Yankee11
 
Сообщения: 9
Зарегистрирован: 21 мар 2011, 14:40
Откуда: Тольятти

Re: помогите создать программу для avr

Сообщение WebMiCo » 07 апр 2015, 15:14

Именно для таких случаев сайт запилил webmico.ru, но только для tiny2313 пока что.
Аватара пользователя
WebMiCo
 
Сообщения: 6
Зарегистрирован: 25 сен 2014, 12:40
Откуда: Челябинск
прог. языки: Asm


Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11