我做了一个测温度的系统,温度用1602显示。程序中若用430的精确延时,则1602不显示;若把精确延时改为普通的延时函数,则1602正常显示温度,请问这是为什么呢?
精确延时函数:#define CPU_F ((double)32768)
#define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0))
#define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0))
普通延时函数:
void delay(long unsigned int time)
{
while(time--);
} |