⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.h.bak

📁 用来pdu编解码
💻 BAK
字号:

#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 PORT_0	//第1路开关量
#define SWITCH_2 PORA_1	//第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 + -