新版sdk中文檔描述由兩個IIC控制器,由軟件和硬件兩種,軟件部分設備名稱改為“i2c_soft”,會返回失敗
[I] (3) main: ver: 2.4-rc build at Aug 12 2026 13:04:22
[I] (4) main: boot reason 0
[I] (4) main: heap size 272520(266.13KB)
[I] (5) main: flash size 0x200000(2MB)
[E] (5) dt: not found device i2c_soft in the dt table
[E] (5) drv_i2c: err line 53
這個是要在哪裡打開麼?還是邏輯要自己寫
感謝回複!經過測試設備名稱為“i2c”時有正常的i2c信號輸出,但是設備名稱為“i2c_soft”,返回數據依然為錯誤,沒有i2c數據信號,降低i2c頻率後效果一樣


按照您的說明,依然沒辦法正常使用,
建議按照如下步驟實驗:
Step1: 編譯終端 進入工程目錄 ,比如: wm_iot_sdkexamplesperipherali2c>
Step2: 運行wm.py distclean 徹底清除曆史編譯記錄
Step3: 運行wm.py menuconfig
Step4: 打開wm_iot_sdkexamplesperipherali2cmainsrcmain.c
Step5: 運行wm.py build 重新編譯
Step6: 可在編譯後產生的 build/device_table/wm_dt_hw.c 中確認是否有 i2c_soft相關的內容
可能原因是:設備表wm_dt_hw.c有兩種配置方式生成
a:用wm_iot_sdkcomponentswm_dtconfig<Chip>device_table.toml, 可以通過WebUI方式調整 設備表
b: 直接用wm_iot_sdkcomponentswm_dtconfig<Chip>device_table.c
兩種方式的差異,具體可看在線文檔的 <<設備表>>章節
https://doc.winnermicro.net/w800/zh_CN/2.4-rc/component_guides/device_table/index.html
系統默認 用了方式a (因為 menuconfig->Components configuration->DeviceTable-> Use c style configuration 關閉)
而方式a 中的 toml文件,還未添加上 i2c_soft的設備類別。