打印

16F877A串口通讯测试求助

[复制链接]
2552|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
guiyang|  楼主 | 2009-3-4 14:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近新接触了PIC单片机,做了一个串口通讯程序,出现些问题,说明:
上位机发送数据,单片机接收到再返回上位机,波特率 9600 数据位 8位 停止位 1 位,没有校验,上位机周期发送延时 1 MS,收发正常,当我用其与倾角传感器通讯时确只能在一通电时可以收到3个数据,之后就再也读不到数据了,这是为什么?难道PIC的速度不够快?(注:倾角传感器已和AVR单片机通讯正常),如果是程序有问题那和PC机通讯一切正常???请有经验的朋友相告之,谢谢!
单片机:外部晶振11.0592M 程序如下
/***************************************************

PIC16F877A 串口通讯子程序
要改变波特率只要改变 #define BAUD 9600 的值

****************************************************/

#define FOSC 11059200  //晶振
#define BAUD 9600   //波特率 

void init_UART(void)
{
    TXSTA = 0x20;// 接收使能,异步工作 低速波特率 
    RCSTA = 0x90;//RC6/RC7设置串口通讯,8位数据 ,连接接收,
    RCIE = 0;//禁止中断
    SPBRG = FOSC/BAUD/64-1;    //设置发送接收波特率 9600
    }
/*====================================================
【函数原形】: void UART_TXD(uint8_t UARTdata)
【参数说明】:             
【功能说明】:
沙发
guiyang|  楼主 | 2009-3-4 15:17 | 只看该作者

晕啊

自己灌水吧!

使用特权

评论回复
板凳
xieyuanbin| | 2009-3-4 19:55 | 只看该作者

示波器啊~~~

看看吧,波形看了对比通讯协议就知道

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

16

主题

32

帖子

0

粉丝