PIC18F458 CAN通信源程序,Proteus调试出现问题,请教解决方法!

2020-02-07 09:35发布

调试程序时一直都在“while((CANSTAT&0X80)==0);”过不去,不知道是什么原因,请指教!!!
附件是程序和出现的问题!
程序是刘和平的书《PIC18FXXX单片机程序设计及应用》上的例程。
估计是不会有错误的,请指教!
源程序ourdev_278442.rar(文件大小:62K) (原文件名:CAN Debug.rar)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
30条回答
yangzhenjiang
1楼-- · 2020-02-08 08:20
回楼上,按照你的方法试了一下,结果还是不能正常工作。我的晶振是16M ,主机SPBRG=103,主从的BRGCON1=0x06(TQ=2*(7+1)/16MHz=1us)。请指教?
yanrz
2楼-- · 2020-02-08 08:26
 精彩回答 2  元偷偷看……
yangzhenjiang
3楼-- · 2020-02-08 11:56
今天换了4MHz晶振试了一下,还是不通。LZ不要中断!!
yangzhenjiang
4楼-- · 2020-02-08 15:13
can-bus一直处于中断,CANH CANL电压是0.8伏。
yanrz
5楼-- · 2020-02-08 15:30
楼上的意思是要接上实际的电路,将电平拉高上去??
我在调试的时候芯片周围除了电源和晶振外是没有任何元件的。
yangzhenjiang
6楼-- · 2020-02-08 19:50
回lz:我也只用两片458两片2551,458只接了晶振及mclr的4.7k电阻。现在情况是:在CAN-0401(与RS232相连的458)中,458一直处于can中断;但用表量2551,结果是can总线上没有传输数据。另外现在借了一个icd2,准备调一下。以前只是在中断前后与中断服务程序中加io控制,观察led状态,不很准确!!

一周热门 更多>