因為之後需要用到I2C的周邊,剛好這塊板子上面有layout I2C的EEPROM
試著利用EEPROM來練習I2C的功能
好巧不巧的是,因為有裝TFT,而TFT是利用FSMC(Flexible static memory controller)來做控制的
這次用的mcu是STM32F103ZET6
運氣很好,又遇到了奇怪的bug
所以就試著解BUG:
1、有沒有接提升電阻;
2、程式有沒有錯;
3、有沒有與其他周邊共接
後來把TFT的程式和硬體拔掉就正常了
查了很久
最後終於知道原因了
因為FSMC被打開的時後
會讓I2C1的時序錯亂(如果一定要用I2C1的功能時,要做REMAP的動作,將PORT腳設定在另外的腳位)
所以也就是為什麼我做不出來的原因
嗯,這件事告訴我們
看完了datasheet最好下一個要看errata
不然中招的機會很高,很高,很高!
沒有留言:
張貼留言