当前位置: 代码迷 >> 综合 >> STM32F429 CAN2通信
  详细解决方案

STM32F429 CAN2通信

热度:6   发布时间:2023-12-07 20:54:50.0

          CAN1和CAN2共用28个滤波器,因CAN2不能读取SRAM,故在单独使用CAN2时,需要先打开CAN1的时钟,然后通过CAN1来设置滤波器,完了再初始化CAN2即可实现数据收发。

        CAN1的滤波器序号为0-13,CAN2的滤波器序号为14-27。

单独使用can2时,can1的时候也需要打开。
还有过滤器的设置
    CAN2_FilerConf.FilterIdHigh=0X0000;     //32位ID
    CAN2_FilerConf.FilterIdLow=0X0000;
    CAN2_FilerConf.FilterMaskIdHigh=0X0000; //32位MASK
    CAN2_FilerConf.FilterMaskIdLow=0X0000;  
    CAN2_FilerConf.FilterFIFOAssignment=CAN_FILTER_FIFO0;//过滤器0关联到FIFO0
    CAN2_FilerConf.FilterNumber=14;          //CAN2的过滤器号从14开始
    CAN2_FilerConf.FilterMode=CAN_FILTERMODE_IDMASK;
    CAN2_FilerConf.FilterScale=CAN_FILTERSCALE_32BIT;
    CAN2_FilerConf.FilterActivation=ENABLE; //激活滤波器0
    CAN2_FilerConf.BankNumber=14;