|
在STM32F103芯片中,利用I2C读写EEPROM时,单字节写入,读回的数据和写入的一致;但是当利用页写入时,读回的数据和写入的数据不一致,这是什么原因导致的? |
请教STM32F103的DMA空闲接收问题
3.3v单片机能刷写1.8v的spi flash吗?
STM32CubeMX配置STM32F103C8T6 RTC分频器问题
STM32F103RCT6断电以后,ADC会漏电
STM32F103VCT6通过串口1烧录程序问题
F103的IIC支持高速400K频率吗?
为什么用cubemax生成f103c8t6的freertos在编译时会报错
CUBEIDE打开一个工程,怎么改变主控芯片的同系列型号?
STM32F103 使用PA9输出PWM问题
STM32F103C8T6是否支持TIM3的PWM边沿触发AD采集
微信公众号
手机版
既然是使用模拟I2C,很有可能是您的代码有问题。
1. 页地址对齐,不同容量的EEPROM的页写范围是不同的,起始地址不对容易造成回写故障。
2. 一页连续写完后注意写入时间参数,如果采样延时,要保证5ms后再进行下次操作。
我目前只利用页写入的方式写入2个字节而已,但是读回的数据都不正确,
页写入不过一次多写了几个数据,比方一次性写8个或16个数据后才发送 停止位。 建议你对着EEPROM手册
你确认下你的操作时序有没有问题。或者说代码方面有无忽略了小问题。
用逻辑分析仪抓取一下时序,对照手册检查一下应该可以发现问题。