大家好,
我用GPIO模拟I2C,和外部EEPROM通信,主要是单片机向EEPROM写入数据,写入时规格书要求必须延时5ms.
我现在的程序延时用的是嘀嗒延时,嘀嗒定时器延时应该也是阻塞式延时,我现在要做的就是消除程序里所有的阻塞式延时,其他的延时已经用定时器延改成了非阻塞了,就是这个写EEPROM,我是怎么也没想到比较好的非阻塞延时方式,如果用定时器来延时,没有好的思路。
部分代码如下,
void Write_EEPROM(uint8_t address,uint8_t data,uint8_t paddr) //写数据到EEPROM
{
IIC_GPIO_Start();
IIC_WriteOneByte(paddr);
IIC_WriteOneByte(address);
IIC_WriteOneByte(data);
IIC_GPIO_Stop();
Systick_delay_ms(5); //此处写完后延时5ms,用的是阻塞式延时,怎么改成非阻塞延时?
}
**得到各位的帮助,谢谢
|