| Форум РадиоКот https://radiokot.ru/forum/ |
|
| Не работает прерывание от UART. AVR Tiny2313 https://radiokot.ru/forum/viewtopic.php?f=57&t=83762 |
Страница 1 из 1 |
| Автор: | ArtemKolesnikov [ Вс янв 20, 2013 14:52:52 ] | |||
| Заголовок сообщения: | Не работает прерывание от UART. AVR Tiny2313 | |||
Всем привет. Написал программу, код не работает. Начал сокращать код, чтоб найти откуда не работает и пришел к выводу, что не срабатывает прерывание по приему символа. Код: #include <avr/io.h> #include <avr/interrupt.h> #include <avr/eeprom.h> #include "usart.h" //прием символа по usart`у в буфер ISR(USART_RX_vect) { volatile uint8_t uByte = 0;// принятый байт uByte=UDR;// Читаем текущий принятый байт PORTA = 0xFF; // Порт А = 1 } int main( void ) { DDRA = 0xff; /* Порт А как выход */ UBRRH=0; UBRRL=51; //скорость обмена 9600 бод UCSRB=(1<<RXCIE)|(1<<RXEN)|(0<<TXEN); //разр. прерыв при приеме, разр приема, запр передачи. UCSRC=(0<<UMSEL)|(1<<UCSZ1)|(1<<UCSZ0); //размер слова 8 разрядов sei(); while(1) { } return 0; } Моделирую в протеусе, у виртуального терминала так же настроено, 9600, паритет - NONE, 8 бит. Помогите найти причину, пожалуйста.
|
||||
| Автор: | ArtemKolesnikov [ Вс янв 20, 2013 16:48:58 ] |
| Заголовок сообщения: | Re: Не работает прерывание от UART. AVR Tiny2313 |
Разобрался. UBRR |
|
| Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|


