如图使用官方SDK库函数及官方介绍的配置方法配置了I2C:
但是运行之后发现该功能无法正常使用,开启了中断后并未进入中断,于是debug监测程序运行过程,发现如下问题:其他系统寄存器在配置过程中可以看到寄存器值变化(如SPI等),唯独I2C的寄存器都未在复制后有所变化
以上问题让人实在困惑
另外 上次有个问题当时得到了解决,但在后续应用中发现又再次出现:所有临时寄存器在赋值后 都出现了optimized out,其他非临时的不会出现(上次的问题是全局变量都会如此,直到把优化等级调为-Os之后就解决了),但是这次不管使用哪个优化等级都会有这个问题(除非不优化,但是不优化程序装不下),虽然该问题并不影响程序正常运行,但是我有点怀疑I2C的故障可能也跟此问题有关
项目很急,该问题已经困扰2天了,还请解答, 谢谢
以上问题已经解决,方法如下:
实现方法与问题描述无太大差别,问题可能是CLOCK未打开或者初始化顺序有误,具体差别并未实际认证,有兴趣的朋友可自行认证
楼主你好,感谢楼主的经验分享。
后续如果还有问题,欢迎继续阀体交流!
Have a great day,
Kerry
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------