如何实现STM32F407运行程序的低功耗?谢谢大家了!!!

2019-07-20 03:17发布

如何实现STM32F407程序的低功耗运行?程序运行的主要任务是采集各个传感器的数据,保存到SD卡中,并且同过GPRS无线传输模块远程传输至上位机。

我的程序设计是这样的,

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次为一个循环。不停的这样工作着。
      }

这是我目前的基本程序,虽然能实现基本的采集传输功能,但是它必须一直的工作着。不切合实际的问题。
因为每一个传感器每次采集的时间间隔不一样,而我应该具体怎么去重新编写我的程序呢。需要它采集、传输的时候就工作,不需要的时候就让它
处于休眠状态。我没有用操作系统。
具体应该怎么处理这个问题呢,需要用的知识,需要往哪方面下功夫。望大家能给些具体的建议,谢谢大家了!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
bufangqi
1楼-- · 2019-07-20 07:03
谢谢大家了,多多给些建议。
login_FAE
2楼-- · 2019-07-20 08:15
stm32有待机、睡眠模式    可以了解下
bufangqi
3楼-- · 2019-07-20 10:22
 精彩回答 2  元偷偷看……

一周热门 更多>