打印

PIC单片机异步串口通信只能发不能收

[复制链接]
2862|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xinyancode|  楼主 | 2011-1-28 09:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
PIC单片机异步串口通信只能发不能收

我用的是PIC16F877A,用的是开发板,串口的程序只能发送,不能接收,接收中断可以进去,但是数据不对,我是照着视频教程上的成功的例子做的,程序贴在下面,请参考,是不是我的开发板这块MAX232有问题啊,怎么调也调不出,我怀疑是MAX232及周边电路有问题,

请指点一下呀,谢谢!

// based on PIC16F877A
#include<pic.h>
#define uchar unsigned char
#define uint  unsigned int
void init();
/////////////////////////////////////////////////////
void main()
{
init();

TXREG = 0x31;   //Transmit register
while(!TRMT);

while(1)
{
}
}


////////////////////////////////////////////////////
void init()
{
TRISC=0xff;

TXSTA = 0x24;   //Transmit status register
                 //BRGH =1 : High baud rate bit selected
                 //SYNC =0 : Asynchronous mode

RCSTA=0x90;   //SPEN = 1 : serial port is enable
               //CREN = 1 : continuous receive is enable

SPBRG = 25;   //ste up baud rate to 9600 bps
GIE=1;
PEIE=1;
RCIE=1;       //enable Receive SCI interrupt

}

////////////////////////////////////////////
void interrupt com()
{
unsigned char uchTemp;

if(  RCIF )
//if ( RCIF )
{
  TXREG = RCREG;
  while(!TRMT);
}
}
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

85

主题

147

帖子

0

粉丝