读书人

单片机串口初始化代码解析,该怎么处理

发布时间: 2012-05-14 15:24:34 作者: rapoo

单片机串口初始化代码解析
一段代码中的截取,不是很了解这个的具体意思,希望有人能够帮忙代码解析一下,每行代码的作用是什么?


#define FOSC 11059200L /// < 晶振
#define BAUD 9600 /// < 波特率

void init_uart1()
{
SCON = 0x50 ;
TMOD = 0x20 ;
TH1 = TL1 = -(FOSC/12/32/BAUD);
TR1 = 1 ;
ES = 1 ;
EA = 1 ;

clear_buf_uart1();
}

void init_uart2()
{
S2CON = 0x50 ;
//TMOD = 0x20 ;
BRT = -(FOSC/32/BAUD);
AUXR = 0x14 ;
IE2 = 0x01 ;
EA = 1 ;

clear_buf_uart2();
}


[解决办法]
还没入门吧。
这个代码和你用的哪款单片机关系很大,里面的很多寄存器要看手册的,看每个寄存器代表什么,每个位置一清零各是什么意思。
串口初始化的流程你也要清楚,主要就是串口选择(1、2.。。)、同步还是异步、发送还是接收、波特率设置、校验位、是否启用中断模式处理。
[解决办法]
总之,看手册。
[解决办法]
ls 正解,不同的单片机有不同的register 命名,不同的初始化顺序和要求,看手册或到其网站查找相关内容

读书人网 >C语言

热点推荐