roboforum.ru

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

Atmega8 + UART

Atmega8 + UART

shpaker » 23 апр 2013, 20:16

Если кратко передать суть истории то моё любопытству увело меня со стороны Ардуино на сторону с микрушками АВР. Только этот зверь не такой простой и сразу всё не выходит.
Пытаюсь наладить передачу данных в уарт, а ничего не выходит, вроде уже всё что можно перепроверил, но так сказать знаний не хватает и подсказать не кому. Если с первой проблемой я потихоньку справляюсь путём чтения тематических форумов и пр. то со второй тяжко. Короче шлю hello world, а Proteus показывает aaaaaaaaaaaaaaaaa
Изображение
Куда смотреть? Что почитать?
Собственно код прошивки:
http://pastebin.com/q4cdzpye
Собственно файл проекта для Протеуса:
https://dl.dropboxusercontent.com/u/8307275/4forum/my-proj.zip

Re: Atmega8 + UART

citizen » 27 апр 2013, 15:46

Установите частоту повыше: #define F_CPU 8000000UL
В протеусе тоже надо поменять частоту в настройках контроллера.

Код для настройки порта можно сделать таким:
Код: Выделить всёРазвернуть
void uart_init( void ) {
    #define BAUD 9600
    #define MYUBRR F_CPU/16/BAUD-1

    UBRRH = MYUBRR >> 8;
    UBRRL = MYUBRR;
    UCSRB = (1<<RXEN)|(1<<TXEN);
    UCSRC = ( 1 << URSEL ) | ( 1 << UCSZ1 ) | ( 1 << UCSZ0 );
}


Я внес вышеуказанные изменения в программу - работает.

В приложенном файле измененная программа и файл для протеуса (лежит рядом с hex).
Между прочим, в протеусе можно включить отображение сообщений о работе различных периферийных узлов контроллера. В том числе, отображается частота, на которой работает UART.
Вложения
1111.zip
(55.23 КиБ) Скачиваний: 0

Re: Atmega8 + UART

Змей-Горыныч » 22 сен 2013, 11:25

А как включить это отображение работы периферийных устройств, подскажите пожалуйста!


cron
Rambler\'s Top100 Mail.ru counter