STM32 MCU I2C eeprom乱码问题

今天测试了一下STM32L4xx通过I2C读取AT24C02 EEPROM,读取到的内容总是和写入内容差异很大,开始以为是写入问题,试了byte、page、连续写入等多种方式,但是问题依然,在网上也查看了很多帖子,乱七八糟的很多,但是没发现能很好的解决问题的方法,要不就是用模拟的方法,要不就是不使用微库等等,我也是因为听说ST的MCU存在I2C的问题所以这些年就一直没有选型过ST的MCU(ST的渠道管理很乱、近些年芯片炒作很厲害也是不選擇的一個原因),最近手頭有個項目因爲考慮風險分散的原因所以計劃測試一下ST的STM32L4xx,別的測試還好,就是到IC的時候果然出現問題,測試了很多遍問題依舊,最後想是不是HAL_I2C_Mem_Read時出現的問題,前邊一直采用連續讀和Byte read的方式,問題是一直出現,最後想是不是可以考慮按page讀取,於是開始測試,果然,成功了,不需要關閉微庫,更不需要模擬I2C,只要使用固件庫分頁讀取就什麽問題都沒有了,不過要記住,在每頁讀取之間最好加一個延時,5ms即可,可以更好地保證系統的穩定性。

我這裏在使用的MCU有nxp的、nuvoton(還是比較好用的,就是功耗真大)的,在使用時都沒有出現過類似問題,直接調用固件庫爽爽麗麗地就可以完成工作,ST的芯片本身及固件庫之類的配套的東西還有待提高,這可能就是法國人做事的隨性吧,缺乏搞技術工作的基本的嚴謹性,以後會使用ST的產品,但是會控制使用,不會作爲公司使用的主流。NXP公司最近有點亂,產品設計上也出現不少問題(生產上的問題還沒發現特別的),自從吞并飛思卡爾后就開始出現問題了,看來合并後兩撥人鬥爭的還是比較嚴重的,希望能儘快磨合好吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值