你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
举报
STM32隐藏
5.18活动板子会不会是STM32L4呢
STM32 CUBE软件中找不到STM32L4系列单片机
Your UAT Feedback is needed within today.
应用
AAA
tiwen
BBBB
aaa
2222
这是误解!
用标准库的时候硬件I2C出问题的比较多。
但是你去用一下HAL的库就知道了,一点问题都没有。
说明本身硬件上是没有问题的。
国内论坛反映的问题大部分都是用标准库,那么问题就出在标准库上。要么就是库有问题,要么就是用法有问题。
我感觉第一种的可能性非常低,多半就是标准库驱动硬件I2C的用法上面存在一知半解和错误。而且随着一大堆教学视频,已经把这些问题固化到所有学习者的认识中了。
最初STM32F103的标准固件库时,I2C的操作,有好多一旦出错while死等的情况。如果感觉用着不爽,那么把while死等改造一下,做个变量递增或递减,超时退出,不要死等,并设置返回值或其它标志变量,通知主程序,此次I2C出错了,需要进一步清除错误标志或复位I2C总线。
其实我自己觉得官方给的HAL库,没有什么问题,无论是polling,DMA,中断模式,都可以的,但是用起来的前提是要知道stm i2c的用法,要读手册和寄存器的,尤其是stm32的i2c,东西还是相对比较多,得耐心的好好看。另外,i2c的标准也要知道的,因为标准里面涉及一些细节,可能是一个正常的sync行为,而用户不知道,就当作是bug.。。。我刚从i2c坑里爬出来的,一点感想,希望有点帮助。。
https://www.stmcu.org.cn/module/forum/thread-609223-1-1.html