CAN設置過濾器CH32V203

你好,我只要接收id為0x246的8個字節(jié),

設置過濾器:

? ? CAN_FilterInitSturcture.CAN_FilterMode = CAN_FilterMode_IdMask;//CAN_FilterMode_IdList;//;

? ? CAN_FilterInitSturcture.CAN_FilterScale = CAN_FilterScale_32bit;//CAN_FilterScale_16bit;

? ? CAN_FilterInitSturcture.CAN_FilterIdHigh = 0x48c0;//IDH;//0x62E0;

? ? CAN_FilterInitSturcture.CAN_FilterIdLow = 0;//0x246<<5;246H*20H=48c0//IDL;

? ? CAN_FilterInitSturcture.CAN_FilterMaskIdHigh =0x48D0;

? ? CAN_FilterInitSturcture.CAN_FilterMaskIdLow =0xFFFF;//IDMSKL;// 0x0006;

可以接收,不過別的id也能讀到??墒俏抑灰邮読d為0x246的。


設置

? ? CAN_FilterInitSturcture.CAN_FilterMode = CAN_FilterMode_IdList;//CAN_FilterMode_IdMask;//;//;

? ? CAN_FilterInitSturcture.CAN_FilterScale = CAN_FilterScale_16bit;//CAN_FilterScale_16bit;

? ? CAN_FilterInitSturcture.CAN_FilterIdHigh = 0x246<<5;//0x48c0;

? ? CAN_FilterInitSturcture.CAN_FilterIdLow = 0;

? ? CAN_FilterInitSturcture.CAN_FilterMaskIdHigh =0;

? ? CAN_FilterInitSturcture.CAN_FilterMaskIdLow =0;

一個也收不到了。

請問怎么設置才能只接收一個id?芯片是CH32V203K8T6

icon_rar.gifCAN-246test.zip

你好我這里測試是沒問題的,檢查下是不是上位機有什么設置不對,或者波特率設置不一致。想過濾一個理論像下面那樣設置也可以。另外有CAN過濾器相關設置供參考:https://www.cnblogs.com/wchmcu/p/17170782.html?

image.png

image.png



謝謝楊工!


你好楊工。

你提供的CAN-246test

我測試了一下,還是不能接收,我改成發(fā)送模式,用示波器看有碼,

波特率大概在55k左右。

我用的波特率是250k,腳位也是PA11,PA12腳。

不知道哪里不對了。



只有登錄才能回復,可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频