本帖最后由 goldtiny 于 2013-7-7 19:30 编辑
大神们 我最近在学习PIC单片机 使用的是PIC16F877A 外挂20M的晶振 用串口调试助手做串口测试的时候会出现数据丢失的现象。单个发送的时候是这样的
发送第5的时候才收到
连续发送的时候是
会有很多的丢失 请问是什么情况 我的程序是这样的 请大神帮忙指导一下
#include <pic.h> //包含单片机内部资源预定义
__CONFIG(HS&WDTDIS&LVPDIS&PWRTEN);//对熔丝位进行设置
//芯片配置字,看门狗关,上电延时开,掉电检测关,低压编程关,加密,20M晶体HS振荡
void main()
{
SYNC=0; //选择异步通信模式
BRGH=1; //选择高速波特率发生模式
SPBRG=129; //设置波特率为9600bps,20M
SPEN=1; //串行通信端口打开,模块连接引脚TX,RX
TRISC7=1; //RX引脚设置为输入
TRISC6=0; //TX引脚设置为输出
TXEN=1; //允许发送数据
CREN=1; //允许接收数据
GIE=1; //总中断允许
PEIE=1; //外围功能模块中断允许
RCIE=1; //串口接收中断允许
while(1) //等待中断
{;}
}
//--------------------------------------------
//中断函数
void interrupt usart(void)
{
if(RCIE&&RCIF) //判断是否为串口接收中断
{
while(!TRMT);
TXREG=RCREG; //把接收到的数据发送回去
}
}
|