日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

STM32,CAN总线过滤器的设置详细讲解

發布時間:2025/3/15 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 STM32,CAN总线过滤器的设置详细讲解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

屏蔽位模式:

在屏蔽位模式下,標識符寄存器和屏蔽寄存器一起,指定報文標識符的任何一位,應該按照“必須匹配”和“不用關心”處理。

標識符列表模式:

在標識符列表模式下,屏蔽寄存器也被當做標識符寄存器用。因此,不是采用一個標識符加一個屏蔽位的方式,而是采用兩個標識符寄存器。接收報文的每一位都必須跟過濾器標識符相同。

STM32普通型芯片的 CAN 有14組過濾器組(互聯型有28組過濾器組) ,用以對接收到的
幀進行過濾。每組過濾器包括了2個可配置的32位寄存器:CAN_FxR0和 CAN_FxR1。
對于過濾器組, 可以將其配置成屏蔽位模式, 這樣 CAN_FxR0中保存的就是標識符匹配值,
CAN_FxR1中保存的是屏蔽碼,即 CAN_FxR1中如果某一位為1,則 CAN_FxR0中相應
的位必須與收到的幀的標志符中的相應位吻合才能通過過濾器; CAN_FxR1中為0的位表
示 CAN_FxR0中的相應位可不必與收到的幀進行匹配。 過濾器組還可以被配置成標識符列
表模式,此時 CAN_FxR0和 CAN_FxR1中的都是要匹配的標識符,收到的幀的標識符必
須與其中的一個吻合才能通過過濾。

一般我們用的都是普通型的,所以在本文中可以說 STM32有14組過濾器組。
根據配置,每1組過濾器組可以有1個,2個或4個過濾器。
這些過濾器相當于關卡,每當收到一條報文時,CAN 要先將收到的報文從這些過濾器上”
過”一下,能通過的報文是有效報文,收進 FIFO,不能通過的是無效報文(不是發給”我”
的報文),直接丟棄。
所有的過濾器是并聯的,即一個報文只要通過了一個過濾器,就是算是有效的。
每組過濾器組有兩種工作模式:標識符列表模式和標識符屏蔽位模式。
每組過濾器組必須關聯且只能關聯一個 FIFO。復位默認都關聯到 FIFO_0。
所謂“關聯”是指假如收到的報文從某個過濾器通過了,那么該報文會被存到該過濾器相連
的 FIFO。
從另一方面來說,每個 FIFO 都關聯了一串的過濾器組,兩個 FIFO 剛好瓜分了所有的過
濾器組。

總結

以上是生活随笔為你收集整理的STM32,CAN总线过滤器的设置详细讲解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。