新版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的设备类别。