F28M35H52C1 -CORTEX-M3 CAN模块 无法连续发送

F28M35H52C1 -CORTEX-M3 CAN模块 无法连续发送

此问题尚无答案
All Replies
  • 秀才171分

           我在使用F28M35H52C1的CORTEX-M3的CAN模块来连续发送CAN数据帧,CAN总线的收发器是ISO1050DUB  ,使用的是TI controlSUILT里提供的例程,但是我把CAN模块的工作模式由原来的闭路循环改为了正常工作模式

            但是,现在的问题是:板子和PC通信,波特率设置一致,引脚确保没有接错,通过can的监视软件可以看到板子发来的数据帧,可以观测到,板子接收数据是正常的,但是发送很短时间就停止掉了。查看错误的状态是 CAN_STATUS_LEC_MSK  错误类型掩码,我查找了很久,不知道问题出在哪里,请高手指教!(注:成功发送的数据是正确的)

  • 状元43876分

    这不是已经告诉你了, LEC 错误.  你可以查一下手册 CAN状态寄存器(CANSTS)里 LEC 位 的错误说明和解决办法.

  • 秀才171分

    谢谢您的指点,问题已经解决了!

    这是由于上一次的数据没有发送完就会停止发送并且报错,只要查询到一帧数据已经发送完成才可以发送下一帧。

    control提供的例程是有加发送完成中断的,可是当时被自己改成了接收中断,所以没发现这个错误。

  • 秀才30分

    你好,可以麻烦您把CAN发送数据的程序代码发给我看一下吗?我用的是F28M35H22C1,发送CAN数据是参考的controlsuit里面的例子,我的板子有两路CAN,我把数据从CAN1发到CAN0是可以接收到的,发到上位机接收到的就是错误帧,不知道是软件还是硬件的问题额

  • 秀才20分

    您发我一份您CAN1和CAN0 通讯的例程可以吗?我的controlsuit版本太旧没有。2458869596@qq.com谢谢啦