在串口2的中断处理函数中中:
extern unsigned int CY9;
extern int CO2_AD_Value;
CO2_Measure();
CY9=CO2_AD_Value;
CY9的数据再次经过处理传送给液晶显示屏幕。但是因为CO2_Measure()没必要进行实时的测量。于是改为如下代码:
在串口2的中断处理函数中:
extern unsigned int CY9;
extern int CO2_Send_Test_index, CO2_AD_Value;//CO2传感器发送采集指令,当10时,即1秒采集一次
if(CO2_Send_Test_index<10)
{
CO2_Send_Test_index++;
}
else
{
CO2_Send_Test_index=0;
CO2_Measure();
CY9=CO2_AD_Value;
}
CY9的数据经过一定处理后显示在液晶屏幕上。但是如果用这种方法,CY9的显示在液晶上面的值就会在0和正常数值之间变化
我猜想是CY9采集到的数据在函数调用完后,里面的数据就被释放了。想到了 static 、指针、const等知识。但是水平有限仍未解决这个问题
请大神们指点一下吧。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>