如何实现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次为一个循环。不停的这样工作着。
}
这是我目前的基本程序,虽然能实现基本的采集传输功能,但是它必须一直的工作着。不切合实际的问题。
因为每一个传感器每次采集的时间间隔不一样,而我应该具体怎么去重新编写我的程序呢。需要它采集、传输的时候就工作,不需要的时候就让它
处于休眠状态。我没有用操作系统。
具体应该怎么处理这个问题呢,需要用的知识,需要往哪方面下功夫。望大家能给些具体的建议,谢谢大家了!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>