Atmega8出厂默认的内部时钟频率是1Mhz,做串口收发时波特率最高设置为4800,设置为9600会乱码,提高时钟频率才能将波特率提高。
#include
#include
#define BAUD 4800//串口波特率//定义接收字符
volatile char rx_data;
/************************************************************************/
/* 主程序 */
/************************************************************************/
int main(void){//设置波特率UBRRH&#61;(F_CPU/BAUD/16-1)/256;UBRRL&#61;(F_CPU/BAUD/16-1)%256;//接收中断使能&#xff0c;接收使能&#xff0c;发送使能UCSRB|&#61;(1<
/* 串口接收中断 */
/************************************************************************/
ISR(USART_RXC_vect){rx_data &#61; UDR;//发送接收到的字符while(!(UCSRA & (1 <