📄 main.h
字号:
#include <avr/io.h>
#include <avr/iom128.h>
#include <avr/interrupt.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include "protocol.c"
#include "pdu.c"
#define MAXLEN 400 //定义数据缓冲区的最大字节数
typedef struct
{
char OnWork ;
char flag ;
int Time , Time1 ; //时间(单位:秒)
}TTask;
/*-----系统参数结构体-----------*/
enum {U0_WM_DATA, U0_WM_CONSOLE};
typedef struct
{
char Started; //系统初始化完毕标志
char U0_Mod; //串口0的工作模式
unsigned char ServerCenter[14]; //本手机卡的短信服务中心号码
}TSysPara;
TSysPara SysPara;
typedef struct
{
int OnWork ;
int TimeClick ;
}TUARTOnWork ;
TUARTOnWork UARTOnWork0,UARTOnWork1 ;
enum {readonly , writeonly} ;
typedef struct
{
char data[MAXLEN];
int len ;
int state;
}TBuff ;
/*-----上行数据缓冲区----------*/
#define UpBufMax 1
typedef struct
{
int BufBegin, BufEnd ;//记录缓冲区中记录的起始和结束位置
TBuff Buff[UpBufMax] ;
}TUpBuf ;
TUpBuf UpBuf ;
/*-----下行数据缓冲区----------*/
#define DownBufMax 1
typedef struct
{
int BufBegin ,BufEnd ;
TBuff Buff[DownBufMax] ;
}TDownBuf ;
TDownBuf DownBuf ;
/*-----AD数据----------*/
//AD转换由主程序启动
//当完成每一路的转换后,自动关闭
#define ADCHANNELMAX 8
#define ADCONVERTTIMES 8
typedef struct
{
uint16_t AD_Channles[ADCHANNELMAX][ADCONVERTTIMES];
int CurrChannel; //当前通道,从0开始
int CurrTimes; //当前转换次数,从0开始
char finished; //ADC转换结束标志
}TADC ;
TADC ADC_data;
/*-----开关量数据---------*/
//开关量引脚定义
#define SWITCH_NUM 2 //实际使用的开关总路数,小于17
#define SWITCH_1 PA0 //第1路开关量
#define SWITCH_2 PA1 //第2路开关量
//开关量路数定义
#define SWITCH_1_ROUTE 1 //第1路开关量路数
#define SWITCH_2_ROUTE 2 //第2路开关量路数
void sysInit(void);
void ioint(void);
void varint(void);
void WriteUart0(unsigned char *data, int dataLen);
void WriteUart1(unsigned char *data, int dataLen);
void myprintf0(char *);
void myprintf1(char *);
void dprintf0(char *format, ...);
void dprintf1(char *format, ...);
void putChar1(char c);
void putChar0(char c);
void delay_s(int );
void delay_ms(int );
void SwitchDetect(void);
void ADC_Process(void);
void StartADC(void);
void CloseADC(void);
void DealUpData(void);
void DealDownData(void);
int ReadUpBuf(TBuff*);
int ReadDownBuf(unsigned char * , int ) ;
void ClearDownBuff (void);
void ClearUpBuff (void);
void CheckDownData(TBuff *p);
char GsmInit(void);
void GsmReset(void);
void GsmOff(void);
char SendSms(SM_PARAM *MySM_PARAM);
char DecodeSms(unsigned char *sms , int smsLen, SM_PARAM *MySM_PARAM );
void tmEventProcess(void);
int centSimunator(char *cmd, unsigned char *msg);
char ExplainConsoleCmd (char *cmd, int cmdLen);
void RunMsgPrintf(char *info);
void ErrorConsole(void);
unsigned char BitCheck(unsigned char uc, char bit);
void ClearBit(unsigned char *uc, char bit);
void SetBit(unsigned char *uc, char bit);
unsigned int GetAnUint(unsigned char * data);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -