在STM32F103芯片中,利用I2C读写EEPROM时,单字节写入,读回的数据和写入的一致;但是当利用页写入时,读回的数据和写入的数据不一致,这是什么原因导致的? |
自己画的STM32F103RCT6的板子下载识别不到芯片。
adc采集电压
STM32 CAN通讯收发异常
STM32硬件IIC
STM32IDE工程内如何访问、计算得到当前程序flash已经使用的情况?
数据丢失
STM32F107RBT6 页擦除函数返回值成功但目标扇区数据并未擦除
L6235Q驱动MAXON三相无刷直流电机,FWD引脚接入PWM波,占空比50%的时候电机不转动,其他占空比电机转动,数据手册并没提及,请问有什么依据吗?
板子肯定没问题,用cubeprogrammer烧录报错
STM32F103ZET6 CS信号无法拉高
既然是使用模拟I2C,很有可能是您的代码有问题。
1. 页地址对齐,不同容量的EEPROM的页写范围是不同的,起始地址不对容易造成回写故障。
2. 一页连续写完后注意写入时间参数,如果采样延时,要保证5ms后再进行下次操作。
我目前只利用页写入的方式写入2个字节而已,但是读回的数据都不正确,
页写入不过一次多写了几个数据,比方一次性写8个或16个数据后才发送 停止位。 建议你对着EEPROM手册
你确认下你的操作时序有没有问题。或者说代码方面有无忽略了小问题。
用逻辑分析仪抓取一下时序,对照手册检查一下应该可以发现问题。