* can 配置流程:
* 1. 从 https://github.com/RT-Thread/rt-thread/tree/master/bsp/stm32/libraries/HAL_Drivers
* 下载 drv_can.c 和 drv_can.h,并放到 drivers 文件夹中。
* 2. 修改 drivers/stm32f4xx_hal_conf.h 文件,添加 #define HAL_CAN_MODULE_ENABLED,主要是为了导入 #include "stm32f4xx_hal_can.h"
* 3. 修改 drivers/drv_can.c 文件,主要添加 #define BSP_USING_CAN 宏定义,可以选择添加 #define BSP_USING_CAN1 和 #define BSP_USING_CAN2
* 4. 必须将 STM32CubeMX 生成项目中的 stm32f4xx_hal_msp.c 放到本项目的 drivers 目录中。放进去就好。
上面是我今天总结的 can 配置流程,关于 can 的发送和接受代码,就是根据 程序清单:这是一个 CAN 设备使用例程
但是程序启动就会报错
can dev write data failed!
大神们 帮我看看, 哦对了 另外 我的波特率是 CAN500kBaud
请把我当成一个菜鸟,因为我刚入行。
适应的芯片是 STm32F407Ve
我觉得这个很大可能是CAN波特率配置有问题,可以看看这个:
https://club.rt-thread.org/ask/question/428949.html
你的这篇文章我看过,我使用的是 Studio 不太清楚,这个工具和 env 生成项目的项目有啥不同;还有就是我已经配置了外部时钟(晶振是25M)的,但是我不清楚怎么样能配置 can 的时钟。
Studio不常用,用的Keil,可以参考。 一般时钟使用HAL库配置,如在xxx_msp.c文件中使能。
@张世争 好的 我看看吧 如果 再不行 就只好放弃了,毕竟工作要紧