我在測試CH32V203C8T6 CAN通訊設(shè)置了多個Filter,但是不起作用,F(xiàn)ilter之外的ID仍然能通過,我測了一下單個Filter是好的,都能過濾,于是我把官方的例程下下來稍微改了一下,設(shè)置多個Filter測試也是失效的,當(dāng)我改回單個Filter時又一切正常,能幫我看看這是啥問題嗎?附件為測試代碼
這個是單個Filter正常的
這是多個Filter,就不正常了,都能通過
我在測試CH32V203C8T6 CAN通訊設(shè)置了多個Filter,但是不起作用,F(xiàn)ilter之外的ID仍然能通過,我測了一下單個Filter是好的,都能過濾,于是我把官方的例程下下來稍微改了一下,設(shè)置多個Filter測試也是失效的,當(dāng)我改回單個Filter時又一切正常,能幫我看看這是啥問題嗎?附件為測試代碼
這個是單個Filter正常的
這是多個Filter,就不正常了,都能通過
您好,配置使用多個過濾器組時需要注意過濾器組的篩選器尺度要配置一致,比如都配置為16位或都配置為32位。
沒有這樣玩的,按理每個篩選器都是相互獨立,互不影響的,況且數(shù)據(jù)手冊也是允許不同尺度的篩選器的
而其還有個問題是我實際項目中用的是同一尺度的篩選器,而且還都是掩碼模式,還都是標(biāo)準(zhǔn)ID,實際項目中也出現(xiàn)了單個篩選器是正常的,多個篩選器就失效,測試程序是我在官方的樣例程序改過來的,沒有考慮這么多,但是你既然提出了這個可能性,我會在周一再做一下測試,感謝你的回復(fù)
我將測試工程的第二個過濾器改成和第一個一樣,還是不行
我把初始化過濾器的函數(shù)置位初始化模式指令寫到外面,把初始化過濾器的切換模式注釋掉
初始化過濾器函數(shù)
這樣我在初始化模式中配置兩個過濾器,也是單個過濾器可以,我配置第二個就會失效
自頂一下
您好,關(guān)于過濾器配置問題,確實可以配置成32位或16位,沒必要一致,前面是我的理解錯誤,不好意思。關(guān)于配置兩個過濾器組無法過濾問題,我這邊也正在幫你看,你可以加我微信(18951773510),方便溝通。
您好,你的問題已找到原因,按照下圖將那行代碼注釋掉即可,你可以試一下。
謝謝!我之前也是想問這個的,這個地址手冊里也沒找到在哪里,不知道為什么要將0x40006200開始的一頁數(shù)據(jù)搬運到0x40006300開始的一頁數(shù)據(jù)區(qū)去
您好,CH32由于設(shè)計差異,此處對過濾器表做了軟件處理。
后續(xù)會出相應(yīng)寄存器的說明嗎?看不懂的話總有點不放心
您好,0x40006000為SRAM地址,如下圖。該區(qū)域為USBD和CAN共享的一個專用的512字節(jié)SRAM。
你好,我用的是V307,can2,兩組濾波,第二組濾波也有問題。
您好,可以將你的問題具體描述一下發(fā)送至我的郵箱(lzs@wch.cn),這邊根據(jù)你的問題描述幫你分析一下或提供你一個參考例程。
垃圾芯片,果斷放棄用華大
您好,若你在使用過程中遇到什么問題,可直接加我微信(18951773510)或?qū)栴}發(fā)至我的郵箱(lzs@wch.cn),這邊會積極協(xié)助你解決問題。