16F877A串口通讯测试求助

[复制链接]
3351|2
 楼主| guiyang 发表于 2009-3-4 14:43 | 显示全部楼层 |阅读模式
最近新接触了PIC单片机,做了一个串口通讯程序,出现些问题,说明:<br />上位机发送数据,单片机接收到再返回上位机,波特率&nbsp;9600&nbsp;数据位&nbsp;8位&nbsp;停止位&nbsp;1&nbsp;位,没有校验,上位机周期发送延时&nbsp;1&nbsp;MS,收发正常,当我用其与倾角传感器通讯时确只能在一通电时可以收到3个数据,之后就再也读不到数据了,这是为什么?难道PIC的速度不够快?(注:倾角传感器已和AVR单片机通讯正常),如果是程序有问题那和PC机通讯一切正常???请有经验的朋友相告之,谢谢!<br />单片机:外部晶振11.0592M&nbsp;程序如下<br />/***************************************************<br /><br />PIC16F877A&nbsp;串口通讯子程序<br />要改变波特率只要改变&nbsp;#define&nbsp;BAUD&nbsp;9600&nbsp;的值<br /><br />****************************************************/<br /><br />#define&nbsp;FOSC&nbsp;11059200&nbsp;&nbsp;//晶振<br />#define&nbsp;BAUD&nbsp;9600&nbsp;&nbsp;&nbsp;//波特率&nbsp;<br /><br />void&nbsp;init_UART(void)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;TXSTA&nbsp;=&nbsp;0x20;//&nbsp;接收使能,异步工作&nbsp;低速波特率&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;RCSTA&nbsp;=&nbsp;0x90;//RC6/RC7设置串口通讯,8位数据&nbsp;,连接接收,<br />&nbsp;&nbsp;&nbsp;&nbsp;RCIE&nbsp;=&nbsp;0;//禁止中断<br />&nbsp;&nbsp;&nbsp;&nbsp;SPBRG&nbsp;=&nbsp;FOSC/BAUD/64-1;&nbsp;&nbsp;&nbsp;&nbsp;//设置发送接收波特率&nbsp;9600<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />/*====================================================<br />【函数原形】:&nbsp;void&nbsp;UART_TXD(uint8_t&nbsp;UARTdata)<br />【参数说明】:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />【功能说明】:
 楼主| guiyang 发表于 2009-3-4 15:17 | 显示全部楼层

晕啊

自己灌水吧!
xieyuanbin 发表于 2009-3-4 19:55 | 显示全部楼层

示波器啊~~~

看看吧,波形看了对比通讯协议就知道
您需要登录后才可以回帖 登录 | 注册

本版积分规则

16

主题

32

帖子

0

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