STM32——CAN總線過濾器設置


STM32CAN控制器每個篩選器組由兩個32位的寄存器組成。

根據所需位寬的不同,各個篩選器可配置成16位或32位模式(如下圖,當FSCx=1為32位模式,FSCx=0時為16位模式)。同時,篩選器的模式可配置成掩碼模式和列表模式(FBMx=0為掩碼模式,FBMx=1為列表模式)。

掩碼模式:對報文ID的每一位可選擇必須相同不管它。

列表模式:只給出接收的ID,其它的一概不接收。

 

下面將這四種情況分別介紹一下:

1、1個32位篩選器——掩碼模式
    第一個篩選器寫入報文ID,第二個篩選器規定對應的每個位是檢查它(置1)還是不管它(置0)。
    例如,第一個篩選器設置為0x0000,這時候如果第二個篩選器設置0xFFFF,就意味着對每個位都檢查,即只接收ID是0x0000的報文。如果第二個篩選器設置0xFFFE,就是對最后一位不管,這時候0x0001和0x0000都可以被接收啦。

2、2個32位篩選器——列表模式
    第一個篩選器寫入報文ID,第二個也寫標准的報文ID。此時只接收ID為這倆的報文。
    例如,第一個篩選器設置0x0000,第二個篩選器設置0x0001。此時只能接收ID為0x0000和0x0001的報文了。

3、2個16位篩選器——掩碼模式
    和第一種情況差不多,只不過位寬減小到了16位,只支持標准ID格式,但是可以篩選的ID數增大到了兩個。

4、4個16位篩選器——列表模式
    拆分成的4個16位篩選器允許寫入4個標准ID,只接收這4個ID的報文。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM