[STM32F1] 请问CAN如何设置标准帧

[复制链接]
1312|8
 楼主| 小缘 发表于 2019-11-27 14:41 | 显示全部楼层 |阅读模式
        CAN_FilterInitStructure.CAN_FilterNumber=0;          //过滤器0
           CAN_FilterInitStructure.CAN_FilterMode=CAN_FilterMode_IdMask;
          CAN_FilterInitStructure.CAN_FilterScale=CAN_FilterScale_32bit; //32位
          CAN_FilterInitStructure.CAN_FilterIdHigh=0x0000;
          CAN_FilterInitStructure.CAN_FilterIdLow=0x0000;
          CAN_FilterInitStructure.CAN_FilterMaskIdHigh=0x0000;//32位MASK
          CAN_FilterInitStructure.CAN_FilterMaskIdLow=0x0000;
          CAN_FilterInitStructure.CAN_FilterFIFOAssignment=CAN_Filter_FIFO0;//过滤器0关联到FIFO0
        CAN_FilterInitStructure.CAN_FilterActivation=ENABLE; //激活过滤器0

          CAN_FilterInit(&CAN_FilterInitStructure);//滤波器初始化

求教:假如我想设置标准帧的ID为0x56C,应该怎么设置CAN_FilterInitStructure.CAN_FilterIdHigh和dCAN_FilterInitStructure.CAN_FilterIdLow 的值 ?
mmuuss586 发表于 2019-11-29 09:50 | 显示全部楼层
香水城 发表于 2019-11-29 11:57 | 显示全部楼层
这个得要自己配,对着手册来。
STM32 CAN过滤器的几个术语
heimaojingzhang 发表于 2019-12-11 13:15 | 显示全部楼层
手册上写的挺清楚的
guanjiaer 发表于 2019-12-11 13:16 | 显示全部楼层
或者用代码生成工具
观海 发表于 2019-12-11 13:17 | 显示全部楼层
对着寄存器说明自己设置是一样的
八层楼 发表于 2019-12-11 13:19 | 显示全部楼层
默认的就是标准帧吧
晓伍 发表于 2019-12-11 13:22 | 显示全部楼层
是的  无需设置 默认的就是
ningling_21 发表于 2019-12-11 13:31 | 显示全部楼层
这里的CAN_FilterId和CAN_FilterMaskId是配合使用的,意思是CAN_FilterId指出需要屏蔽ID的什么内容,什么格式;CAN_FilterMaskId是指CAN_FilterId的每一位是否需要过滤,若CAN_FilterMaskId在某位上是1的话,ID对应位上的数值就必须和CAN_FilterId该位上的一样,保持一致,反之则是“不关心”。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

2

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部