pwm ad ad采集 串口通讯 PIC16F1827 PROTEUS仿真

2019-03-25 19:00发布

串口通讯 目前遇到的问题是串口通讯接受不正常,可正常发送求大神指点看看那地方不对

附件中有源代码与仿真
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
12条回答
dingzy_2002
2019-03-26 20:45
看了下程序,目前我看出来的有3个问题:
1.串口接收中断的标志识别与清除:if(RCIE==1 && RCIF==1),这个只要RCIF就可以了,同时可写成if(RCIF)即可;
2.串口接收中断退出还是要将RCIF置0为好(虽然读取缓冲器也可将RCIF置0,但不一定保险);否则容易出现溢出错误,你在程序中也没有作溢出判断的语句。
3.逻辑问题?:是不是要在串口接收中接收20个字节后,再处理数据?如果是则:
      if(RCREG_Cnt>19) //超过缓冲区
          RCREG_Cnt=19;
      FlagRc=1;   3. //通知单片机正在接收     
      RcCnt=0;
      RCIE=1;
这段就显得不太正常,要不要重新理解下?

一周热门 更多>