i2c主机程序测试遇到问题

如题,用ch32v307评估板测试i2c主机程序时,在发送后的事件查询while中卡死了,请问是跟硬件有关系吗微信图片_20230211090944.png

您好,若怀疑是硬件问题,可检查一下主从设备引脚之间连接是否有问题,IIC引脚要注意接上拉电阻。其次在程序配置上,先开启GPIO时钟使能再开启IIC时钟使能,IIC引脚注意配置为开漏复用输出。此外,关于卡死在此处,也有可能是从设备速度不够快造成的,可在配置主机IIC速度的时候配置低一些或在该段程序上方加个延时试一下。


俺也遇到同样的问题。用例程地址7位左移1位、速度高低、加延时等都试过了,调试两三天了还是调不通。

能否提供一个HDC1080+CH32V20x的可用示例?

都是卡在while()等待



已解决。例程中增加读数据后的延时,地址要左移1位处理,读数据时地址LSB无须置1(函数已传递方向位),等等,各种打印日志和调试终于见到希望了。 


只有登录才能回复,可以选择微信账号登录