當前位置:編程學習大全網 - 編程軟體 - stm32的can不用中斷如何接收

stm32的can不用中斷如何接收

can接收時,即使不需要過濾,也需要添加壹個過濾器(選擇mask模式,32位,MASK ID HIGH LOW,ID HIGH LOW都填0,過濾器選擇FIFO0,其他默認就好)。can過濾器,有兩種模式,壹種mask模式(掩碼模式),壹種list模式(列表模式),有兩種位選擇,壹種32位,壹種16位:

檢查?STDID[10:0]、?EXTID[17:0]、?IDE和?RTR位,壹***?31位

檢查?STDID[10:0]、?RTR、?IDE和?EXTID[17:15],壹***?16位

列表模式:32位寬的列表模式,可以精確篩選兩個ID(擴展幀和標準幀都可以),對於16位寬的列表模式,可以精確篩選4個標準幀ID,如果將IDE位置1,則可以篩選ID的高11位數據,無法精確篩選擴展幀ID。

掩碼模式:類似屏蔽碼和驗證碼,屏蔽碼用來指定需要確定的位,驗證碼用來指定確定的位的值,兩者壹起用來過濾部分ID。

32位的掩碼模式:Filter Id High與Filter Id Low合在壹起表示CAN_FxR1寄存器,用來存放驗證碼,而Filter Mask Id High與Filter Mask Id Low合在壹起表示CAN_FxR2寄存器,用來存放屏蔽碼

16位的掩碼模式:CAN_FxR1的低16位是作為驗證碼,對應的16位屏蔽碼為CAN_FxR1的高16位,同樣的,CAN_FxR2的低16位是作為驗證碼,對應與CAN_FxR2的高16位為屏蔽碼

  • 上一篇:如何選擇加工中心磁盤
  • 下一篇:隧道與雙棧的區別是什麽
  • copyright 2024編程學習大全網