总是卡死吧。
为了规避菲利普专利问题,设计的特别复杂,导致特别容易错过反馈信号,一中断反馈信号没了…整个程序就崩溃了。现在hal库应该是解决了这个问题…解决方法是关闭所有中断,但是实时性就不好了。
关于硬件I2C的一个测试可以看看这里:
http://www.cnblogs.com/humaoxiao/p/4507765.html
对于ST公司推荐的将I2C工作在DMA和最高优先级的中断,虽然这样可以用,但是要是有更高优先级的任务只能被I2C打断了。
对于GD32,好像就没有这个问题
如果是新项目,可以试试换芯片,如果是旧项目,最好用模拟的吧。
您是用標準庫嗎? 建議使用HAL庫,配合CubeMX使用看看
新版本已經修正很多問題了,不太再需要軟I2C
以上