問題解決了,自己粗心了,漏寫了最后判斷dat1和dat2小于報警值的幾行代碼
void FireJudge(uchar dat1, int dat2)
{
/*煙霧報警判斷*/
if(dat1>gMqAlarm)
{
send_data_74hc595(0xfc);
datout();
}
/*溫度報警判斷*/
if(dat2>gTempAlarm)
{
send_data_74hc595(0xfa);
datout();
}
if((dat1<=gMqAlarm)&&(dat2<=gTempAlarm))
{
send_data_74hc595(0xff);
datout();
}
} |