用了下DSP28335的CAN总线,也用了一些时间,其实CAN总线基本的原理我已经了解的差不多了,但配置28335的过程还是有一些问题产生的。
1、关于TI例程。TI例程是可以用的。我用的是合众达的28335,他的例程也基本上和TI例程一样。我在调试的时候其例程是可以用的。但是要注意,他的例程只自测模式下的,我们在外部连接其他CAN节点时,要改成正常模式才能和其他节点通信。配置好正常模式就可以用啦。
EALLOW;
ECanbShadow.CANMC.all = ECanbRegs.CANMC.all;
ECanbShadow.CANMC.bit.STM = 0; // 0是正常模式 1是自测模式
ECanbShadow.CANMC.bit.SCB = 1; // eCAN mode (reqd to access 32 mailboxes)
ECanbRegs.CANMC.all = ECanbShadow.CANMC.all;
EDIS;
2、关于外部测试模块。当我们用其他CAN节点连接时,最好确定那个CAN节点是正常用的,且波特率也相同,最好用CAN分析仪什么的看过没有问题。一开发犯的错误就是这样,本来外部节点是好的,结果调试的时候也以为没有问题,其实当时这个结点是没有配置好的一个结点,连到上面一直没有数据,总以为是DSP配置的问题,结果最后发现是另一个节点的问题。最后是用CAN分析仪分别调好两个节点后连接起来,一下就没有问题了。