打印

CAN接收筛选器配置问题

[复制链接]
383|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
张さん|  楼主 | 2020-4-25 13:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如下是配置为只接收扩展帧0x1314的筛选器配置,请问我想配置为只接收标准帧某个ID的话,应该怎么修改呢???
static void CAN_Filter_Config(void)
{
        CAN_FilterInitTypeDef  CAN_FilterInitStructure;

        
        CAN_FilterInitStructure.CAN_FilterNumber=0;                                                
        CAN_FilterInitStructure.CAN_FilterMode=CAN_FilterMode_IdMask;        
        CAN_FilterInitStructure.CAN_FilterScale=CAN_FilterScale_32bit;        
        

        CAN_FilterInitStructure.CAN_FilterIdHigh= ((((u32)0x1314<<3)|CAN_ID_EXT|CAN_RTR_DATA)&0xFFFF0000)>>16;               
        CAN_FilterInitStructure.CAN_FilterIdLow= (((u32)0x1314<<3)|CAN_ID_EXT|CAN_RTR_DATA)&0xFFFF;
        CAN_FilterInitStructure.CAN_FilterMaskIdHigh= 0xFFFF;                        
        CAN_FilterInitStructure.CAN_FilterMaskIdLow= 0xFFFF;                        
        CAN_FilterInitStructure.CAN_FilterFIFOAssignment=CAN_Filter_FIFO0 ;                                
        CAN_FilterInitStructure.CAN_FilterActivation=ENABLE;                        
        CAN_FilterInit(&CAN_FilterInitStructure);

        CAN_ITConfig(CANx, CAN_IT_FMP0, ENABLE);
}

使用特权

评论回复

相关帖子

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

本版积分规则

448

主题

464

帖子

1

粉丝