微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > PIC单片机串口调试

PIC单片机串口调试

时间:10-02 整理:3721RD 点击:
这是我写的一个简单的串口程序,用串口助手发数 ,当芯片收到数以后再把它发送出来
#define uint unsigned int
#define uchar unsigned char
uchar Rec1Data;
void uart_init()
{
  TRISC=0XD0;
  TXSTA1&=0X8f;           //    (6)8位数据0,(5)禁止发送0,(4)异步模式0;
  TXSTA1|=0X04;           //    (2)高速,
  RCSTA1|=0x90;           //    (7)使能串口1;(4)使能接受1
  RCSTA1&=0xBF;           //    (6)8位接受0;            
  TXSTA1bits.TXEN=1;      //     使能 发送
  TXSTA1bits.TRMT=1;      //     发送器为空
  BAUDCON1=0x48; //   接收操作处于空闲状态,16 位波特率发生器——SPBR启动看门狗 GH 和SPBRG
  SPBRGH1=0;
  SPBRG1=34;   //  波特率为115200;
}
void write_dis(uchar write1_data)
{  
    TXREG1=write1_data;
    while(!TXSTA1bits.TRMT);
}
void main ()
{
uart_init();
while(1)
{
if(PIR1bits.RC1IF)
{
//  PIR1bits.RC1IF=0;
  Rec1Data=RCREG1;
  write_dis(Rec1Data);
}
}
}
但是发数之后没有再发送出来

可以在线调试,看是没有收到还是收到了没有发送!

没怎么弄过PIC的芯片,不过看有启动看门狗,看看看门狗时间,还有有,你确定单片机收到了信息?可以用其他的显示方式显示一下你收到的数据

解决了 不是看门狗的事  端口设定的原因

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top