|
在STM32F103芯片中,利用I2C读写EEPROM时,单字节写入,读回的数据和写入的一致;但是当利用页写入时,读回的数据和写入的数据不一致,这是什么原因导致的? |
关于最近学习C语言回调和钩子函数的想法,以及对HAL库回调函数的困惑
在擦除flash时 同时挂起中断 是否会造成卡死以及相关的卡死机制
FLASH擦除轮询等待时CPU真的会轮询吗
HAL_I2C_Mem_Read 一直返回 BUSY
STM32F103C8T6 上电后无法通过串口发出数据的问题?
KEILMDK每次都要手动选Reset and Run吗 不然下载到板子上得重启电源才行 求解答
STM32F103的USB的虚拟串口,串口助手打开的时候会收到两条数据,第一条数据是前5秒串口助手未打开时发送的,这怎么解决?
询问电源纹波对芯片的影响
VL53L5CX无法使用
stm32f107裸机+HR911105A+lwIP 1.31 SYN发送失败的问题
微信公众号
手机版
既然是使用模拟I2C,很有可能是您的代码有问题。
1. 页地址对齐,不同容量的EEPROM的页写范围是不同的,起始地址不对容易造成回写故障。
2. 一页连续写完后注意写入时间参数,如果采样延时,要保证5ms后再进行下次操作。
我目前只利用页写入的方式写入2个字节而已,但是读回的数据都不正确,
页写入不过一次多写了几个数据,比方一次性写8个或16个数据后才发送 停止位。 建议你对着EEPROM手册
你确认下你的操作时序有没有问题。或者说代码方面有无忽略了小问题。
用逻辑分析仪抓取一下时序,对照手册检查一下应该可以发现问题。