请问熟悉AVR的高手,用CVAVR编写meg128串口通讯程序需要有怎样的步骤吗,比如说下面这段代码,我知道是执行中断了,可是是在什么情况下执行或者代表的意思是什么没搞懂,希望帮在下讲解一下,谢谢各位 interrupt [USARTE0_RXC_vect] void usarte0_rx_isr (void) { unsigned char status; char data; status=USARTE0.STATUS; data=USARTE0.DATA; if ((status & (USART_FERR_bm | USART_PERR_bm | USART_BUFOVF_bm)) == 0) { rx_buffer_usarte0[rx_wr_index_usarte0++]=data; #if RX_BUFFER_SIZE_USARTE0 == 256 if (++rx_counter_usarte0 == 0) { #else if (rx_wr_index_usarte0 == RX_BUFFER_SIZE_USARTE0) rx_wr_index_usarte0=0; if (++rx_counter_usarte0 == RX_BUFFER_SIZE_USARTE0) { rx_counter_usarte0=0; #endif rx_buffer_overflow_usarte0=1; } } } |
更多回帖