謝謝樓主,已測試可用。樓主程序里是通過外部中斷,按鍵觸發測量的,所以可以把測溫程序從外部中斷放到main里,就可以直接看到數據了。這時提取出來,測試沒問題,溫度需要自己加補償
while(1)
{
DelayMs(1000);
tt=get_temperature();
OLED_ShowCN(0,0,0);
OLED_ShowCN(17,0,1);
OLED_ShowStr(34,0,": ",2);
OLED_ShowNum(50,0,change(tt)+3.14,2);//加3.14是因為我沒有聚集棱鏡所以輻射無法聚集導致測溫有誤差屬于修正誤差的額外加值(可以自己修改)
if(change(tt)<32.86||change(tt)>34.16)//不正常警告
{
OLED_ShowCN(0,6,7);
OLED_ShowCN(17,6,0);
OLED_ShowCN(34,6,4);
OLED_ShowCN(50,6,5);
LED1(1);
LED3(0);
}
else
{
OLED_ShowCN(0,6,7);
OLED_ShowCN(17,6,0);
OLED_ShowCN(34,6,6);
OLED_ShowCN(50,6,5);
LED1(0);
LED3(1);
}
} |