如何通过硬件中断方式实现对温湿度、光照度数据的采集。

2019-07-20 02:11发布

如何通过硬件中断方式实现对温湿度、光照度数据的采集。?
不通过按键控制,该如何实现呢?谢谢了。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
4条回答
bufangqi
2019-07-20 13:24
HXYDJ 发表于 2019-4-29 10:49
通过定时器控制读取数据间隔,定时时间到了读取一次传感器数据就行。

我还有些疑问想咨询下。程序是不是应该这么写?
int main (void)
{
        一系列的初始化定义;


     while(1)
      {
            if(风向标志位 == 1)
                {
                   采集风向传感器数据;
                    风向标志位 = 0;
                }
            if(风速标志位 == 1)
                {
                   采集风速传感器数据;
                    风速标志位 = 0;
                }
           if(温湿度标志位 == 1)
                {
                   采集温湿度传感器数据;
                   温湿度标志位 = 0;
                }
           if(光照度标志位 == 1)
                {
                   采集光照度传感器数据;
                    光照度标志位 = 0;
                }
           if(FLAG.SD == 1)
                      {
                   存储所有的传感器数据;
                   FLAG.SD == 0;
                }
            if(FLAG.GPRS == 1)
                      {
                   远程发送数据给上位机;
                    FLAG.GPRS == 0;
                }
  
          //在定时器中断里,程序是每当一个设定的时间到达,顺序将一个标志位置1,进行相应的工作,6次为一个循环。不停的这样工作着。
      }

这是我目前的基本程序,虽然能实现基本的采集传输功能,但是它必须一直的工作着。不切合实际的问题。
因为每一个传感器每次采集的时间间隔不一样,而我应该具体怎么去重新编写我的程序呢。需要它采集、传输的时候就工作,不需要的时候就让它处于休眠状态。
不知你是否有好的建议。谢谢了。

一周热门 更多>