首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

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

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

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


#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 命名,不同的初始化顺序和要求,看手册或到其网站查找相关内容

热点排行