打印
[STM32F1]

CAN通讯的问题

[复制链接]
1045|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
我们的协议

帧标识符一共29位。

是不是可以把低16位写到CAN_FilterInitStructure.CAN_FilterIdLow里,
高13位写到CAN_FilterInitStructure.CAN_FilterIdHigh里,高三位补零
谢谢

使用特权

评论回复
沙发
按照CAN通讯协议进行开发比较好

使用特权

评论回复
板凳
classroom| | 2024-9-10 13:42 | 只看该作者
有自己的想法是好的,但为啥不按照通讯协议来

使用特权

评论回复
地板
jotliu| | 2024-9-10 15:51 | 只看该作者
完全可以吧

使用特权

评论回复
5
我喜欢打游戏| | 2024-9-10 16:13 | 只看该作者
应该可以的,实际测试一下吧

使用特权

评论回复
6
比神乐|  楼主 | 2024-9-11 08:04 | 只看该作者
classroom 发表于 2024-9-10 13:42
有自己的想法是好的,但为啥不按照通讯协议来

就是按照通讯协议来的

使用特权

评论回复
7
别乱了阵脚| | 2024-10-4 09:14 | 只看该作者
在STM32的CAN过滤器配置中,CAN_FilterIdLow和CAN_FilterIdHigh用于设置过滤器的标识符。通常情况下,CAN标识符的位数是29位,但CAN过滤器的配置需要根据具体的CAN控制器和过滤器模式来设置。

使用特权

评论回复
8
光辉梦境| | 2024-10-4 14:00 | 只看该作者
CAN标识符通常是29位,可以分为以下部分:高11位:标准标识符(Standard Identifier)高18位:扩展标识符(Extended Identifier

使用特权

评论回复
9
三生万物| | 2024-10-4 15:00 | 只看该作者
STM32中,CAN过滤器的配置涉及到以下几个结构体成员:CAN_FilterIdHigh:高16CAN_FilterIdLow:低16

使用特权

评论回复
10
淡漠安然| | 2024-10-4 16:00 | 只看该作者
假设你的CAN标识符是29位,可以按照以下方式进行配置:0x1FFFFF;高13位:0x1F16位:0xFFFF将高13位和低16位分别写入CAN_FilterIdHighCAN_FilterIdLow

使用特权

评论回复
11
暖了夏天蓝了海| | 2024-10-4 17:00 | 只看该作者
标识符位数:确保标识符的位数和过滤器的配置一致

使用特权

评论回复
12
江河千里| | 2024-10-4 18:00 | 只看该作者
过滤器模式很重要,根据实际需求选择合适的过滤器模式(如ID列表模式或ID掩码模式)

使用特权

评论回复
13
冰春彩落下| | 2024-10-4 19:00 | 只看该作者
过滤器编号,确保使用的过滤器编号在有效范围内

使用特权

评论回复
14
一秒落纱| | 2024-10-4 20:00 | 只看该作者
通过将29CAN标识符的高13位和低16位分别写入CAN_FilterIdHighCAN_FilterIdLow,可以正确配置CAN过滤器。确保标识符的位数和过滤器的配置一致,并根据实际需求选择合适的过滤器模式和编号

使用特权

评论回复
15
夜阑风雨| | 2024-10-4 21:00 | 只看该作者
一般情况是可以用cubemx配置can的,就可以很快的实现底层驱动和一些协议通讯了

使用特权

评论回复
16
远山寻你| | 2024-10-4 22:00 | 只看该作者
高三位补零应该是没啥问题的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

437

主题

3427

帖子

7

粉丝