
can
STM32F427IIHx使用CubeMxpe配置CAN,CAN接收中断突然挂了
问题困惑 • fumoumou 回复了问题 • 2 人关注 • 1 个回复 • 283 次浏览 • 2021-02-22 21:20
关于新版hal库的can通信的使用
问题困惑 • zhangchao 回复了问题 • 11 人关注 • 7 个回复 • 6967 次浏览 • 2021-02-19 13:40
关于STM32cubemx CAN的问题
新手交流 • QQ被盗请勿点击 回复了问题 • 19 人关注 • 16 个回复 • 12031 次浏览 • 2020-10-04 18:58
stm32f103使用cube配置CAN通信后,调用HAL_CAN_AddTxMessage死在硬件错误
问题困惑 • 我可以弯腰 回复了问题 • 5 人关注 • 2 个回复 • 3467 次浏览 • 2019-12-22 15:06
CAN的Loopback模式例程的设置及程序分析
软件教程 • 虎扑最大的吊 回复了问题 • 7 人关注 • 7 个回复 • 7273 次浏览 • 2018-06-10 19:56
STM32F103ZET(基于秉火开发板)+Cubemx(F1 V1.60库)+CAN
经验分享 • 开始现在-s 发表了文章 • 0 个评论 • 3401 次浏览 • 2017-12-11 11:54
首先说明下开发条件:
1、开发板:秉火霸道,STM32F103ZET
2、软件:Cubemx V4.23(F1 V1.60库)
问题描述: 官方生成的代码没有滤波器设置,需要自己加入
解决办法:
1、不能直接在cubemx上面设置CAN的引脚,需要自己选择PB9和PB10,然后设为CANTX和RX
2、添加滤波器设置
在static void MX_CAN_Init(void)函数里面加入滤波器设置函数:
CAN_FilterConfTypeDef sFilterConfig;
sFilterConfig.FilterNumber = 0;
sFilterConfig.FilterMode = CAN_FILTERMODE_IDMASK;
sFilterConfig.FilterScale = CAN_FILTERSCALE_32BIT;
sFilterConfig.FilterIdHigh = 0x0000;
sFilterConfig.FilterIdLow = 0x0000;
sFilterConfig.FilterMaskIdHigh = 0x0000;
sFilterConfig.FilterMaskIdLow = 0x0000;
sFilterConfig.FilterFIFOAssignment = 0; //收到的报文放在FIFO 0里面
sFilterConfig.FilterActivation = ENABLE;
sFilterConfig.BankNumber = 14;
if (HAL_CAN_ConfigFilter(&hcan, &sFilterConfig) != HAL_OK)
{
/* Filter configuration Error */
Error_Handler();
}
3、联系方式:微信Startingray,本人准备将cubemx的小bug解决的过程记录下来,也是给爱好者一点启示,欢迎微信和我沟通,共同进步!个人觉得Cubemx是未来的发展方向,可以使我们避免很多小错误,但是由于现在软件版本之间的兼容性,加上不同版本库之间存在的bug,还是需要我们在使用时时刻保持警惕!
STM32F427IIHx使用CubeMxpe配置CAN,CAN接收中断突然挂了
回复问题困惑 • fumoumou 回复了问题 • 2 人关注 • 1 个回复 • 283 次浏览 • 2021-02-22 21:20
stm32f103使用cube配置CAN通信后,调用HAL_CAN_AddTxMessage死在硬件错误
回复问题困惑 • 我可以弯腰 回复了问题 • 5 人关注 • 2 个回复 • 3467 次浏览 • 2019-12-22 15:06
STM32F103ZET(基于秉火开发板)+Cubemx(F1 V1.60库)+CAN
经验分享 • 开始现在-s 发表了文章 • 0 个评论 • 3401 次浏览 • 2017-12-11 11:54
首先说明下开发条件:
1、开发板:秉火霸道,STM32F103ZET
2、软件:Cubemx V4.23(F1 V1.60库)
问题描述: 官方生成的代码没有滤波器设置,需要自己加入
解决办法:
1、不能直接在cubemx上面设置CAN的引脚,需要自己选择PB9和PB10,然后设为CANTX和RX
2、添加滤波器设置
在static void MX_CAN_Init(void)函数里面加入滤波器设置函数:
CAN_FilterConfTypeDef sFilterConfig;
sFilterConfig.FilterNumber = 0;
sFilterConfig.FilterMode = CAN_FILTERMODE_IDMASK;
sFilterConfig.FilterScale = CAN_FILTERSCALE_32BIT;
sFilterConfig.FilterIdHigh = 0x0000;
sFilterConfig.FilterIdLow = 0x0000;
sFilterConfig.FilterMaskIdHigh = 0x0000;
sFilterConfig.FilterMaskIdLow = 0x0000;
sFilterConfig.FilterFIFOAssignment = 0; //收到的报文放在FIFO 0里面
sFilterConfig.FilterActivation = ENABLE;
sFilterConfig.BankNumber = 14;
if (HAL_CAN_ConfigFilter(&hcan, &sFilterConfig) != HAL_OK)
{
/* Filter configuration Error */
Error_Handler();
}
3、联系方式:微信Startingray,本人准备将cubemx的小bug解决的过程记录下来,也是给爱好者一点启示,欢迎微信和我沟通,共同进步!个人觉得Cubemx是未来的发展方向,可以使我们避免很多小错误,但是由于现在软件版本之间的兼容性,加上不同版本库之间存在的bug,还是需要我们在使用时时刻保持警惕!