[ZLG-MCU] 请教89c669的串口问题(刚才发的怎么是空的)

[复制链接]
2094|3
 楼主| marphine 发表于 2007-7-19 09:58 | 显示全部楼层 |阅读模式
初始化如下<br />PCON=0x80;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><br />RCLK=1;<br />TCLK&nbsp;=&nbsp;1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />S1STAT&nbsp;=&nbsp;0x20&nbsp;;&nbsp;<br /><br />S1CON&nbsp;=&nbsp;0x00&nbsp;;&nbsp;<br />REN_1&nbsp;=&nbsp;1&nbsp;;&nbsp;<br /><br />SM0_1&nbsp;=&nbsp;0&nbsp;;<br />SM1_1&nbsp;=&nbsp;1&nbsp;;&nbsp;<br />SM0_0&nbsp;=&nbsp;0&nbsp;;<br />SM1_0&nbsp;=&nbsp;1&nbsp;;&nbsp;<br /><br />BRGCON&nbsp;=&nbsp;0X00&nbsp;;&nbsp;<br />BRGR1=0x04;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;11.0592*1000000/9600-16<br />BRGR0=0x70;<br />BRGCON&nbsp;=&nbsp;0X03&nbsp;;&nbsp;<br /><br />ES1R&nbsp;=&nbsp;1;&nbsp;<br />EA&nbsp;=&nbsp;1&nbsp;;&nbsp;<br />TI_1&nbsp;=&nbsp;1&nbsp;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />TI_0&nbsp;=1;<br /><br /><br />串口发送如下<br />&nbsp;&nbsp;<br />void&nbsp;Uart1SendCrt(&nbsp;unsigned&nbsp;char&nbsp;ch&nbsp;)<br />{<br />S1BUF&nbsp;=&nbsp;ch&nbsp;;<br />while(!TI_1)&nbsp;;<br />TI_1&nbsp;=&nbsp;0&nbsp;;<br />}<br /><br />&nbsp;void&nbsp;Uart0SendCrt(unsigned&nbsp;char&nbsp;ch)<br />{<br /><br />S0BUF=ch;<br />while(TI_0==0);<br />TI_0=0;<br />}<br /><br />问题是当单个串口发送数据能成功<br />&nbsp;&nbsp;&nbsp;&nbsp;while(1)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Uart1SendCrt(0x22);//发送字符<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br /><br />两个串口一起就不行了<br />而且接收不到数据<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;while(1)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Uart1SendCrt(0x22);//发送字符<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Str&nbsp;=&nbsp;S1BUF;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RI_1&nbsp;=&nbsp;0;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Uart0SendCrt(Str&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br /><br />请问是我程序哪有问题?<br />还是哪边设置不正确??
zlgmcu 发表于 2007-7-19 12:28 | 显示全部楼层

在www.zlgmcu.com有P89C669双串口的范例程序可供参考.

  
 楼主| marphine 发表于 2007-7-19 21:26 | 显示全部楼层

to:zlgmcu P89C669双串口的范例

P89C669串口2通讯示例??&nbsp;看过
zlgmcu 发表于 2007-7-20 09:30 | 显示全部楼层

极有可能是程序问题.

很多忠于51的客户,选用P89C669,<br />都是为了使用双串口这个功能,该功能已经成功应用于很多产品中.<br /><br />请细心调试程序.<br /><br />
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

3

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部