我在一個多層菜單里準備加入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);
}
附件里包含完整工程
|