STM32F407 定时器触发DMA 求助大神
【MCU实战经验】基于STM32F407的音频播放器设计
盘古UE-STM32F407工控板原理图
【STM32F429心得\疑问】+STM32F4之FSMC和FMC
STM32F429读取IO口传输的数据速率
STM32F407ZGT6 手摸芯片背部重启
STM32F4 SPI 动作时,软件片选信号被拉高,IO口程序逻辑失控
STM32F401RE NUCLEO求助,串口一直不能进中断
读取STM32F407内部温度传感器值错误
STM32F429多路内部ADC独立采集的办法
I2C的芯片都很慢,读写时序需要比较长。最可靠的方法就是一个字节一个字节第写。
I2C总线的速度是慢,EEPROM读写最快也就400K,但是你要一个字节一个字节的写那就1K的速度都达不到了。建议查看下EEPROM的分页和页写延时。如果你一个字节一个字节写,要保证第一个字节写进去了然后再写第二个字节,那必须等5ms的延时,才能写下一个,但是处理好了分页操作之后,可以在写入N个字节之后再等待一个5ms的写操作延时。
我的读好像也不正常。你怎么解决的?
我现在按照你的程序,每次都32字节还是异常,每次读出来不一样,太奇怪了
读写也全都得不到HAL_OK,请大家帮忙分析,另外板子是自己做的。
谢谢
你好,我在写EEP的时候也出现了同样的问题。。。。调用这个函数判断地址是否有效while(HAL_I2C_IsDeviceReady(&hi2c2,EEP1_Write_CmdToAT25c,2,timeout)!=HAL_OK),发现总线一直处于忙状态,挂在这个位置,
/* Wait until BUSY flag is reset */
if(I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY_FLAG) != HAL_OK)
{
return HAL_BUSY;
},但是都没有操作总线。请问,你当初的解决方案是?