楼主

[嵌入式] 【求助帖】不同版本Cubemx配置CAN通信问题

[复制链接]
正式队员robomax

马上注册,玩转Robomaster!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本人利用官方开源的C620电调的DEMO程序,烧录进开发板通过按键进行调速,3508电机能够正常运行。
就是每按一个键3508电机加速一次。
CAN发送时的超时等待为1000毫秒。HAL_CAN_Transmit(hcan, 1000);
在3508不通电时每按一个键用J-Scope也能读到按键键值的正常变化。
官方的固件库包版本为F4_V1.13.0

但是我用cubemx的1.18,1.16,1.15的固件库包都尝试编译开源DEMO程序的cubemx文件,
除了自动生成的,其他编写的函数部分则是原封不动
每次按下按键,程序都会在CAN的超时等待那里消耗,大约花了3秒才读到按键的变化
通电之后电机就跟疯了一样。。。

有没有大佬能够解答我的问题T_T
跳转到指定楼层
沙发

[嵌入式] 【求助帖】不同版本Cubemx配置CAN通信问题

[复制链接]
正式队员robomax
 楼主| 2018-1-16 16:42:16 显示全部楼层
对比两个版本的HAL库的底层代码。发现在stm32f4xx_hal_can.c文件中的HAL_CAN_Transmit函数里有一个地方是两个版本的库不一样的。在V1.18版本中判断超时等待的循环中有一句__HAL_CAN_CANCEL_TRANSMIT(hcan, transmitmailbox)而V1.13没有; 将V1.18库文件中该行注释掉程序即正常运行==
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

触屏版 | 电脑版

Copyright © 2024 RoboMasters 版权所有 备案号 粤ICP备2022092332号

快速回复 返回顶部 返回列表