2019-03-25 19:00发布
dingzy_2002 发表于 2016-5-22 10:08 备份引脚功能选项上,即APFCON0及APFCON1的功能寄存器上。 RX选择RB0还是RB1,TX选择RB2还是RB5,未设置 ...
男哥 发表于 2016-5-22 11:35 按照第一点建议我也试了下,我在串口中语句中设置断点,然后进行全速运行,然后通过串口助手给单片机发送 ...
dingzy_2002 发表于 2016-5-22 16:49 请问,你是用PROTEUS仿真的,还是用实物仿真的? 如果有可能,尽量用实物仿真,目前PIC用的新的单片机, ...
最多设置5个标签!
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;
这段就显得不太正常,要不要重新理解下?
RX为RB1,TX为RB2 现在设置的就是这个
请问,你是用PROTEUS仿真的,还是用实物仿真的?
如果有可能,尽量用实物仿真,目前PIC用的新的单片机,可能PROTEUS仿真支持不完善;
另外,用调试器仿真,能看到RXBUF的内容,对调试会有帮助的。
用的是PROTEUS仿真,因为没有仿真器,所以先用的PROTEUS,谢谢你的回答。
一周热门 更多>