|
TB2ZUvHqVXXXXc2XpXXXXXXXXXX_!!85243700.jpg (322.63 KB, 下載次數(shù): 53)
下載附件
2017-11-30 10:17 上傳
實驗?zāi)康模?/strong>
通過對CAN過濾器的設(shè)置,屏蔽總線上其他無用的報文,只接收自己需要的報文。
標(biāo)識符過濾模式
● 可變的位寬
每個過濾器組的位寬都可以獨立配置,以滿足應(yīng)用程序的不同需求。根據(jù)位寬的不同,每個過濾器組可提供:
─ 1 個 32 位過濾器,包括:STDID[10:0]/EXTID[28:18]、IDE、EXID[17:0]和 RTR 位;
─ 2 個 16 位過濾器,包括:STDID[10:0]/EXTID[28:18]、IDE 和 RTR 位;
─ 4 個 8 位過濾器,包括:STDID[10:3]/EXTID[28:21],其他位可以不用關(guān)心;
─ 1 個 16 位過濾器和 2 個 8 位過濾器,具體的過濾器描述如上16位和8位過濾器描述。
FMLx位定義該寄存器組的低半組(CAN_FxR1-4寄存器)的模式,
FMHx位定義該寄存器組的高半組(CAN_FxR5-8寄存器)的模式,
32位過濾器組設(shè)置
1.png (128.48 KB, 下載次數(shù): 34)
下載附件
2017-11-30 10:19 上傳
FMHx=0 高位寄存器工作在屏蔽位模式。 FMLx =0 低位寄存器工作在屏蔽位模式。
FMHx=1 高位寄存器工作在標(biāo)識符列表模式。 FMLx =1 低位寄存器工作在標(biāo)識符列表模式。
FMLx和FMHx位必須擁有相同的值以確保4個屏蔽位/標(biāo)識符過濾器位處于相同的模式。
16位過濾器組設(shè)置
2.png (148.96 KB, 下載次數(shù): 47)
下載附件
2017-11-30 10:19 上傳
FMHx=0 高位寄存器工作在屏蔽位模式。 FMLx =0 低位寄存器工作在屏蔽位模式。
FMHx=1 高位寄存器工作在標(biāo)識符列表模式。 FMLx =1 低位寄存器工作在標(biāo)識符列表模式。
16/8位過濾器組設(shè)置
3.png (151.12 KB, 下載次數(shù): 43)
下載附件
2017-11-30 10:20 上傳
FMHx=0 高位寄存器工作在屏蔽位模式。 FMLx =0 低位寄存器工作在屏蔽位模式。
FMHx=1 高位寄存器工作在標(biāo)識符列表模式。 FMLx =1 低位寄存器工作在標(biāo)識符列表模式。
8位過濾器組設(shè)置
4.png (126.99 KB, 下載次數(shù): 48)
下載附件
2017-11-30 10:20 上傳
FMHx=0 高位寄存器工作在屏蔽位模式。 FMLx =0 低位寄存器工作在屏蔽位模式。
FMHx=1 高位寄存器工作在標(biāo)識符列表模式。 FMLx =1 低位寄存器工作在標(biāo)識符列表模式。
stm8單片機源程序如下:
- /***********************************************************************
- * 說 明: CAN轉(zhuǎn)發(fā)數(shù)據(jù)實驗
- * 開發(fā)平臺: 劍齒虎STM8開發(fā)板
- * 作 者: 劉洋 張殿東
- * 版 本: V1.0
- * IAR開發(fā)環(huán)境 版本 V2.20.1
- * ST庫函數(shù) 版本 V2.2.0
- ***********************************************************************/
- #include "pbdata.h"//引入自定義公共頭文件
- void BSP_Configuration(void);//硬件初始化函數(shù)聲明
- /***********************************************************************
- * 函 數(shù) 名: main
- * 功能說明: c程序入口
- * 形 參:無
- * 返 回 值: 錯誤代碼(無需處理)
- ***********************************************************************/
- int main(void)
- {
- BSP_Configuration();//硬件驅(qū)動初始化函數(shù)
-
- while(1)//主程序循環(huán),反復(fù)執(zhí)行循環(huán)體里的語句
- {
- //LED_Demo1();//在主程序中調(diào)用LED_Demo1()函數(shù)
- //LED_Demo2();//在主程序中調(diào)用LED_Demo2()函數(shù)
- //UART1_Printf_Demo();
- //CAN_SendData_Demo2();
- }
- }
- /***********************************************************************
- * 函 數(shù) 名: BSP_Configuration
- * 功能說明: 初始化硬件設(shè)備。只需要調(diào)用一次。該函數(shù)配置CPU寄存器和外設(shè)的寄存器并初始化一些全局變量。
- * 形 參:無
- * 返 回 值: 無
- ***********************************************************************/
- void BSP_Configuration(void)
- {
- CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);//時鐘速度為內(nèi)部16M,1分頻,
- UART1_Congfiguration();//調(diào)用RS232串口1初始化函數(shù)
- LED_Init();//調(diào)用LED初始化函數(shù)
- CAN_Configuration();//調(diào)用CAN初始化函數(shù)
- rim();//打開總中斷
- }
- /*斷言函數(shù):它的作用是在編程的過程中為程序提供參數(shù)檢查*/
- #ifdef USE_FULL_ASSERT
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼
【眾拳】劍齒虎STM8開發(fā)板的實驗代碼下載:
眾拳STM8的CAN總線標(biāo)識符過濾實驗程序.zip
(1.65 MB, 下載次數(shù): 24)
2017-11-30 10:21 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
眾拳STM8的CAN總線數(shù)據(jù)轉(zhuǎn)發(fā)實驗源程序與詳細教程 請查下面鏈接查看
http://www.zg4o1577.cn/bbs/dpj-99891-1.html
|
評分
-
查看全部評分
|