谢谢楼主,已测试可用。楼主程序里是通过外部中断,按键触发测量的,所以可以把测温程序从外部中断放到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);
}
} |