娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2024年09月08日(星期日)

2021年09月08日 | 以STM8為例的CAN濾波器內容

發布者:w2628203123 來源: eefocus關鍵字:STM8  CAN  濾波器 手機看文章 掃描二維碼
隨時隨地手機看文章

前言在CAN協議里,報文的標識符不代表節點的地址,而是跟報文的內容相關的。因此,發送者以廣播的形式把報文發送給所有的接收者。節點在接收報文時,根據標識符的值決定軟件是否需要該報文;如果需要,就拷貝到RAM里;如果不需要,報文就被丟棄且無需軟件的干預。為滿足這一需求,beCAN為應用程序提供了個可配置的、位寬可變的6個(0-5)過濾器組,用于只接收那些軟件需要的報文。硬件過濾的做法節省了CPU開銷,否則就必須由軟件進行過濾,從而占用一定的CPU資源。


濾波器設置濾波器設置包括下面幾個寄存器:CAN濾波模式寄存器1 (CAN_FMR1)和CAN濾波模式寄存器2(CAN_FMR2)、CAN濾波配置寄存器1 (CAN_FCR1)、CAN濾波配置寄存器2 (CAN_FCR2)和CAN濾波配置寄存器3 (CAN_FCR3),CAN濾波組i寄存器x (CAN_FiRx) (i = 0 。。 5, x = 1 。。 8)。


濾波模式寄存器用于設置濾波器為標識符列表模式和掩碼模式,濾波配置寄存器用于開啟或關閉濾波器和濾波器的寬度設置,濾波組用于具體濾波設置。6個可配置的位寬可變的過濾器組,通過FSCx0(x=1..6)和FSCx1(x=1..6)設置濾波寬度,就32位濾波器設置進行解讀,CAN報文分為標準幀和擴展幀,標準幀ID11位,擴展幀29位,ID與濾波配置映射關系如上表所示,如濾波模式設置可知可以分為兩個ID或者一個ID+Mask。當需要過濾某一段ID時,使用ID+Mask模式,當過濾具體ID時直接使用ID模式即可。如果我的擴展id是0x12345678 ;想只接收0x12xxxxxx的標識符號,該如何設置濾波器,此處采用32位濾波器0進行濾波配置,因此FSC00 = 1;FSC01 = 1;FMH0 = 0;FML0 = 0;擴展id為0x12345678 (0001,0010,0011,0100,0101,0110,0111,1000)將擴展幀ID填入CAN幀ID格式中


RTR位我們設置為0表示數據幀,IDE位設置為1表示擴展ID,因為我們的ID是29位的,所以RTR = 0;IDE = 1;


如果要關心到具體的某一個比特位置;如果要過濾讓它只接收0x12xxxxxx的表示符號;這時候要根據它實際在identify中的位置去修改idmask ; 前八個比特,對應的就是黃色和綠色的部分,所以其他的顏色,可以都填0表示不需要關心,則這里填入:1 1 1 1 ,1 x x x,我們這里填0xF8 ;CAN_F0R1 = 0x91; CAN_F0R2 = 0x00; CAN_F0R3 = 0x00; CAN_F0R4 = 0x00;CAN_F0R5 = 0x91; CAN_F0R6 = 0x00; CAN_F0R7 = 0x00; CAN_F0R8 = 0x00;同理,對于下面的配置是只接收標準id= 0x321(0011,0010,0001)的ID(也是32位過濾器),因為也是數據幀,所以RTR = 0,標準的id,所以IDE = 0 ;


CAN_F0R1 = 0x64; CAN_F0R2 = 0x20; CAN_F0R3 = 0x00; CAN_F0R4 = 0x00;CAN_F0R5 = 0xFF; CAN_F0R6 = 0xE0; CAN_F0R7 = 0x00; CAN_F0R8 = 0x00;

設置過濾器0只接收ID為0x1828A0EF和0x1828A0EE的數據幀。(工作在標識符列表模式)首先我們把這兩個ID寫成二進制:0x1828A0EF:0001 1000 0010 1000 1010 0000 1110 11110x1828A0EE:0001 1000 0010 1000 1010 0000 1110 1110然后我們將0x1828A0EF


二進制的格數據組成如上圖mapping所示的格式Can_fxr1:1100 0001 0xc1Can _fxr2:0100 1001 0x49 //這里有個RTR位我們設置為0表示數據幀,IDE位設置為1表示擴展ID,Can _fxr3:0100 0001 0x41Can _fxr4:1101 1110 0xDE

這時我們工作在標識符列表模式,identifier/Mask的寄存器相當于identifier使用。

再將0x1828A0EE二進制的格數據組成如上圖mapping所示的格式Can _fxr5:1100 0001 0xc1Can _fxr6:0100 1001 0x49 //這里有個RTR位我們設置為零表示數據幀,IDE設置為1表示擴展IDCan _fxr7:0100 0001 0x41Can _fxr8:1101 1100 0xDC

16位配置模式也經常使用,如CAN網絡管理中往往涉及到網絡管理ID-0x4xx,因此需要利用ID和Mask模式,其余的采用ID模式,可以建立濾波器設置寄存器數組。

0x400網段,0x330,0x3200x400:

展開 0000 0100 0000 0000,采用標準幀數據幀格式0x330: 展開 0000 0011 0011 00000x320:

展開 0000 0011 0010 0000CAN_F0R1: 100 0000 0 0x80CAN_F0R2: 000 00 000 0x00CAN_F0R3:

111 0000 0 0xE0CAN_F0R4:

00000000 0x00CAN_F0R5: 011 0011 0 0x66CAN_F0R6: 00000000 0x00CAN_F0R7: 011 0010 0 0x64CAN_F0R8: 00000000 0x00FSC00 = 0; FSC01 = 1; FMH0 = 1; FML0 = 0; FACT0 = 1;


在以往的項目中用過多個品牌的單片機,包括國產的,一直感覺ST的濾波器設置比較麻煩,每次用到的時候都要花較長時間去回憶。

關鍵字:STM8  CAN  濾波器 引用地址:以STM8為例的CAN濾波器內容

上一篇:STM8S之TIM4自學筆記
下一篇:基于STM8主控的物美價廉的毫歐表設計

推薦閱讀

  全球領先的汽車電子解決方案提供商恩智浦半導體(NASDAQ:NXPI)在深圳舉辦的 “智聯中國 創領未來” 2018恩智浦未來科技峰會上宣布,與吉利汽車展開合作,共同探索下一代毫米波雷達傳感器和多雷達系統的前瞻性協作定義,將其用于下一代高級駕駛員輔助系統(ADAS)和自動駕駛功能。自此,恩智浦將為吉利汽車提供更加高效、緊密的支持,以滿足持續的...
9月5日晚間,精測電子公告稱,上海精測將獲多名股東增資入股,注冊資本將由目前的1億元增加至6.5億元。本輪增資中,精測電子出資2億元,大基金和上海精圓管理咨詢合伙企業(有限合伙)(簡稱:上海精圓)各出資1億元,上海半導體裝備材料產業投資基金合伙企業(有限合伙)(簡稱:上海半導體)、上海青浦投資有限公司(簡稱:青浦投資)各出資5000萬元,馬...
要做一個報警功能的東東,要求可以通過遙控來改變遙控內容。由于對系統的穩定性要求很高,所以用了看門狗。可是看門狗復位會引起所有寄存器重置,恢復到默認狀態。遙控要改變的內容也被復位了,所以只能借助EEPROM來存儲報警標志了。我用的是MPLAB X IDE +XC8 編譯器,XC8在語法上跟PICC有點不一樣EEPROM操作有兩種方法,在該存儲空間中定義命名變量,...
日京東方官方宣布推出新一代的柔性OLED真400PPI FDC屏下攝像頭技術。該技術采用一驅一像素電路設計,拍攝成像效果也達到業內領先水平,并已應用到一線手機廠商的屏下攝像機型中。隨著顯示屏屏占比的逐漸提高,全面屏要求將前置攝像頭放置于柔性OLED顯示屏之下,為保證拍攝圖像的質量,需提高顯示屏透過率,重新設計其結構。目前柔性OLED顯示屏對應的攝像...

史海拾趣

問答坊 | AI 解惑

交流變為直流的穩壓電源

在輸入電壓220V、50Hz、電壓變化范圍+15%~-15%條件下; a、 輸出電壓可調范圍:+3V~+15V; b、 最大輸出電流:2A; c、 電壓調整率≤0.2%(輸入電壓變化范圍+15%~-15%下,滿載); d、 負載調整率≤1% e、 紋波電壓(峰- ...…

查看全部問答∨

15075018luerdu(程序一)

這個程序的作用是 ;把V/F轉換得到的脈沖送到單片機的T0口計數, ;計數的結果放到R2,R3中 ;求出計數值的萬,千,百,十,個位,然后分別放在74H,73H,72H,71H,70H中 ;最后把結果通過4094串行移位寄存器顯示出來 ORG 0000H LJM ...…

查看全部問答∨

單片機8051緩存顯示

功能:把鍵盤輸入的數據存入顯示緩存區 displaybuf ,然后顯示緩存區的內容, 調試的結果不對,顯示很亂~ 不知道什么原因? #include<reg52.h> #define uchar unsigned char #define uint unsigned int sbit ledk=P2^5;  // ...…

查看全部問答∨

尋AT91RM9200的VxWorksBSP!

我在www.pudn.com下載的AT91RM9200(DKEK)VxWorksBSP.RAR,但下載下來才知道只是一份開發者指南,不是源碼。我現在準備上AT91RM9200,也準備買一塊評估板,但都沒有VxWorks的BSP,大家能送我一份嗎?我們可以交換源碼的。 謝謝! …

查看全部問答∨

哪款傳感器適合紅外體溫計

各位大蝦們,我畢業設計的題目是要求做紅外體溫計,不知道用哪款傳感器比較好點,希望大家能給點幫助,謝謝啦!…

查看全部問答∨

stm8s105c6端口PE1問題

                                 最近做一個項目,端口PE1設置為推挽輸出,在程序中置位輸出時,輸出鎖存器顯示輸出高電平而實際端口并沒有高電平輸 ...…

查看全部問答∨

10種軟件濾波方法

1、限幅濾波法(又稱程序判斷濾波法)     A、方法:         根據經驗判斷,確定兩次采樣允許的最大偏差值(設為A)         每次檢測到新值時判斷: ...…

查看全部問答∨

altium

altium 中的DXP是啥的縮寫…

查看全部問答∨

msp430寫ds18b20讀取錯誤

能夠初始化ds18b20,但讀取怎么都不正確!!…

查看全部問答∨

電子密碼鎖設計及論文

電子密碼鎖設計及論文…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 庐江县| 大邑县| 和政县| 丘北县| 宣汉县| 界首市| 韶山市| 沧州市| 四会市| 怀安县| 贵定县| 陆川县| 江阴市| 罗源县| 高要市| 道孚县| 襄城县| 五原县| 西丰县| 沂源县| 陆川县| 金溪县| 桐庐县| 怀宁县| 磐安县| 吴江市| 舟山市| 黔西| 奇台县| 屯门区| 高陵县| 南澳县| 新泰市| 绥棱县| 长顺县| 泗阳县| 广平县| 昭通市| 博罗县| 静海县| 彭州市|