嵌入式多路温湿度监控系统(九菜单配置程序)

这是一个独立的程序,91创客学堂的老师并没有写全,但主要方法都已展示,其中的get_line()函数非常好,主函数中的save_dev(g_dev)是必要的

我把这个独立函数需要的头文件都复制到这来,前面都有了的,但方面直接下载编译运行

config.h

#ifndef __TC9000_H_
#define __TC9000_H_

#define CONFIG_FILE "tc9000.cfg" //配置文件名
#define ON          1
#define OFF         0

#define DEF_T_UP        70          //默认温度上限(C)
#define DEF_T_LOW       5           //默认温度下限(C)
#define DEF_U_TIME      5           //默认检测间隔时间(s)
#define DEF_MAX_CHANNEL 4           //采集的路数

//系统总体数据结构
struct st_sys{
    int temp_max[DEF_MAX_CHANNEL];      //设置每路温度报警最大值
    float temp_data[DEF_MAX_CHANNEL];   //每路温度
    char status[DEF_MAX_CHANNEL];       //每路状态
    char update_time;                   //网页刷新秒数
};

int make_default_config(struct st_sys * dev);
int save_dev(struct st_sys * dev);
int load_dev(struct st_sys * dev);

#endif
sys_ipc.h

#ifndef _TC9000_SYS_IPC_H
#define _TC9000_SYS_IPC_H

#include "config.h"

//消息队列接收时索引值
#define TEMP_SMG_INDEX_BASE 10
#define WEB_SMG_INDEX 2
#define WEB_UPDATE_SMG_INDEX 3
#define UPDATE_TIME_SMG_INDEX 4

//菜单更新消息
struct st_msg{
    long int index;
    int dat;
};
//网页更新消息
struct st_msg_dev{
    long int index;
    struct st_sys dev;
};
//网页请求消息
struct st_msg_req{
    long int index;
    char req;       
};

int get_msgid_web(void);//网页消息队列id
int get_msgid_menu(void);//菜单消息队列id
int msg_recv_webreq(int msgid);//接收网页请求消息
void* set_web_shm(void);//设置网页共享内存
int msg_send_webupdate(int msgid,struct st_sys * g_dev);//向网页发送数据消息
int msg_menu_update(int msgid,struct st_sys* g_dev);//菜单更新消息
#endif
实现程序config.c

include <string.h>
#include <stdio.h>
#include "config.h"

/*============================================
函数名称:make_default_config
功能:创建系统的配置文件,第一次运行或配置文件不存在
参数:struct st_sys * dev
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值