[求助] 想用PIC16f1783实现串口通信自发自收,以下程序哪里有问题,请教高手指导,万分感谢

yyq12311   2014-5-14 09:06 楼主
想用PIC16F1783实现串口自发自收,外部晶振用的16M晶振,程序如下:
#include
#define uchar unsigned char
#define uin?t unsigned int
__CONFIG(0x0982);
__CONFIG(0x1AFF);
uchar recdata;
void Delay_ms(uint xms)
{
   int i,j;
   for(i=0;i       {for(j=0;j<71;j++);}
}
void initUSART()
{
   SPBRG=0x19;
   TXEN=1;
   CREN=1;
   SYNC=0;
   SPRN=1;
   TXSEL=0;
   RXSEL=0;
   SCKP=0;
   BRG16=0;
   RCIE=1;
   TXIE=1;
   TRISC6=0;
   TRISC7=1;
   TXSTA=0X24;
   RCSTA=0X90;
   GIE=1;
   PEIE=1;
}
void main()
{
   initUSART()
   while(1)
   {
      PORTC=recdata;
   }
   Delay_ms(10);
}
void interrupt usart(void)
{
   if(RCIF)
   {
      RCIF=0;
      recdata=RCREG;
      TXREG=recdata;
   }
}
用示波器测试晶振是可以起振的,用串口调试助手自发自收,波特率设置9600,发送的时候电路板上接收指示灯闪烁,但是发送指示灯毫无反应,请教高手指点一下上述程序哪里有问题,万分感谢。

回复评论 (2)

顶自己帖一下,没有人用过PIC16F1783吗?
点赞  2014-5-15 08:53
接收中断不是能可不可以
点赞  2014-7-13 23:47
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复