This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

我在测试学习例程can的时候,遇到了这样的问题

在仿照tms570ls12的example_canIntCommunication.c范例时,在VIM Channel中如果使能了can1High(即16号)的话,我用kavaser接收到的数据是这样子的。

C9 DA EB FC 0D 1E 2F 40,但不使能的话,接受到的是11 22 33 44 55 66 77,请问是什么原因呢?

  • 没用过这个KAVASER,你发送的是什么数据?这两组数据是什么发送的?
  • hal中配置,想要can1中,一条发一条收,发送没问题,但接收接收不到,下面是我的程序。

    请问,就是发送时,写的帧id,在我的这个程序中,应该写什么

    可能我理解有问题,我在外部输入的CANPro中写发送的帧id是0x00000001(我把hal里面的这个id当成帧id如图),但如果用两路can的话,can2那边也是和下图一样设置的是1,该怎么区分呢?

    我的理解出了很大问题,希望各位的回复能帮我解决心中的疑惑,非常感谢!!!

     simpleTRtest.rar

  • 解决了部分问题,上面我接收不到消息,是因为安装HAL时,那个id处默认是1,其实要修改成0x开头的格式,我在查看can.c时,发现id字段是这个(uint32)1U ,正确的应该是(uint32)0x1U,我使用CANPro发,id不对当然接收不到,这点尤为注意一下。

  • 第二个问题,不知道我想的是否正确,使用两路can,id一样是没有问题的,因为在原理上使用的canGetData(canREG1, canMESSAGE_BOX1, rx_data); canREG1是注明了用的是哪个can,can2的话就是canREG2,所以我认为id一样应该没有什么影响,不知道我这么理解有没有问题,希望路过的各位大师,请不吝赐教!!!谢谢!
  • 不好意思打错了是kvaser,是can工具,我在程序中写将11 22 33 44 55 66 77发送到板子,如果没有在VIM Channel中使能can1High的话,can工具捕捉到的是11 22 33 44 55 66 77,使能后出来的数据是C9 DA EB FC 0D 1E 2F 40 , 我想知道为什么.