با سلام
دوستان کسی میتونه راجع به تابع interrupt که برای rx استفاده میشه توضیح بده؟؟ و اینکه چطور باید از اون استفاده کنیم ؟؟
در هنگام اومدن دیتا ، اون در تابع data ریخته میشه ؟؟
دوستان کسی میتونه راجع به تابع interrupt که برای rx استفاده میشه توضیح بده؟؟ و اینکه چطور باید از اون استفاده کنیم ؟؟
کد:
interrupt [USART_RXC] void usart_rx_isr(void) { char status,data; status=UCSRA; data=UDR; if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0) { rx_buffer[rx_wr_index++]=data; #if RX_BUFFER_SIZE == 256 // special case for receiver buffer size=256 if (++rx_counter == 0) rx_buffer_overflow=1; #else if (rx_wr_index == RX_BUFFER_SIZE) rx_wr_index=0; if (++rx_counter == RX_BUFFER_SIZE) { rx_counter=0; rx_buffer_overflow=1; } #endif } }
در هنگام اومدن دیتا ، اون در تابع data ریخته میشه ؟؟
دیدگاه