单片机串口初始化代码解析

Eleven_Rita 2012-05-06 05:12:11
一段代码中的截取,不是很了解这个的具体意思,希望有人能够帮忙代码解析一下,每行代码的作用是什么?


#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();
}
...全文
450 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
dsoyy 2012-05-07
  • 打赏
  • 举报
回复
总之,看手册。
dsoyy 2012-05-07
  • 打赏
  • 举报
回复
还没入门吧。
这个代码和你用的哪款单片机关系很大,里面的很多寄存器要看手册的,看每个寄存器代表什么,每个位置一清零各是什么意思。
串口初始化的流程你也要清楚,主要就是串口选择(1、2.。。)、同步还是异步、发送还是接收、波特率设置、校验位、是否启用中断模式处理。
AnYidan 2012-05-07
  • 打赏
  • 举报
回复
ls 正解,不同的单片机有不同的register 命名,不同的初始化顺序和要求,看手册或到其网站查找相关内容

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧