51串口通讯问题 点击:347 | 回复:0



郭郭123

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 8回
  • 年度积分:0
  • 历史总积分:24
  • 注册:2008年3月10日
发表于:2008-05-11 10:34:25
楼主

我编了一个51串口通讯程序。使用串口调试助手这个小软件调试。我期望的是1位起始位,8位数据位,无奇偶校验,1位结束位。但在串口调试助手中我设置成7位数据位,接受、发送数据才正确。设置成8位数据位,就是有1位错误。下面是我的串口初始化程序:

void uart_init(void) /*串行口初始化*/
{ TMOD=0x20; /*设T/C1为定时方式2*/
TH1=0xfd; /*设定波特率9600,12MHz*/
TL1=0xfd;
SCON=0x50; /*串行口工作在方式1,允许接收*/
PCON=0x00; /*波特率不加倍*/
TR1=1; /*启动T/C1*/
ET1=0;
ES=1; /*开串口中断*/
EA=1; /*开CPU中断*/
}

请各位大大指教,究竟哪出了问题!谢谢



热门招聘
相关主题

官方公众号

智造工程师