我在一个多层菜单里准备加入ds1302readtime(),但会显示2055/55/55,
另外这块板子也有ds18b20,一加入ds1302readtime()也会使温度不再更新,急求解决方案
代码:
void fun1(void)
{
int tem=0;
int temperature;
temperature = Ds18b20ReadTemp();
tem=temperature*0.625*10+0.5;
OLED_ShowString(0,0,"TIME: " ,16);
OLED_ShowString(0,2,"DATE: ",16);
OLED_ShowString(0,4,"TEMP: ",16);
OLED_ShowString(96,6,"MENU ",16);
OLED_ShowNum(48,4,tem%10000/1000,1,16); //温度十位
OLED_ShowNum(56,4,tem%1000/100,1,16); //温度个位
OLED_ShowString(64,4,".",16);
OLED_ShowNum(72,4,tem%100,1,16); //温度小数位
OLED_ShowCHinese(80,4,0);
Delay1ms(10);
OLED_ShowNum(48,0,TIME[2]/16,1,16); //时
OLED_ShowNum(56,0,TIME[2]&0x0f,1,16);
OLED_ShowString(64,0,":",16);
OLED_ShowNum(72,0,TIME[1]/16,1,16); //分
OLED_ShowNum(80,0,TIME[1]&0x0f,1,16);
OLED_ShowString(88,0,":",16);
OLED_ShowNum(96,0,TIME[0]/16,1,16); //秒
OLED_ShowNum(104,0,TIME[0]&0x0f,1,16);
OLED_ShowString(48,2,"2",16);
OLED_ShowString(56,2,"0",16);
OLED_ShowNum(64,2,TIME[6]/16,1,16); //年
OLED_ShowNum(72,2,TIME[6]&0x0f,1,16);
OLED_ShowString(80,2,"/",16);
OLED_ShowNum(88,2,TIME[4]/16,1,16); //月
OLED_ShowNum(96,2,TIME[4]&0x0f,1,16);
OLED_ShowString(104,2,"/",16);
OLED_ShowNum(112,2,TIME[3]/16,1,16); //日
OLED_ShowNum(120,2,TIME[3]&0x0f,1,16);
OLED_Clear1(0,6,96,16);
OLED_ShowString(80,6,"->",16);
}
附件里包含完整工程
|