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

📄 main.h

📁 在飞思卡尔MC9S08GB60单片机环境下实现了无线监控
💻 H
字号:
/****************************************************************
*   文件名  main.h
*   作者    echo
*   时间    2008.4.23
************************************************************************/


#ifndef __MASTERMODULE_H__
#define __MASTERMODULE_H__


//头文件

#include "pub_def.h"
#include <hidef.h> /* for EnableInterrupts macro */
#include <MC9S08GB60.h> /* include peripheral declarations */
#include "mcu_hw_config.h"
#include "FLASH.h"
#include "GPIO.h"

//有效数据结构
//子机发给座机的有效数据结构中的TAG信息结构
typedef struct{
  char Mac_AddH;
  char Mac_AddL;
  char Link_Quality;
  char RSSI;
  char Check_SlaveH;
  char Check_SlaveL;
}TAG_S;
//子机发给座机的数据结构
typedef struct {
  char Head[6];
  TAG_S TAG[17];
  char End;
}RXFRAME_S;  
 
//RAM存储子机信息
typedef struct{
  char SlaveID;
  char Status;
  char move_count;
  char low_batt_count;
  char lost_count;
  char move_finishflag;
  int move_finishtime;
  char low_batt_finishflag;
  int low_batt_finishtime;
  char lost_finishflag;
  int lost_finishtime;
 }SLAVE_INFO;
 
 typedef struct{
  char mspower_finishflag;
  int mspower_finishtime;
 }MASTER_INFO;
 
//时间显示结构变量
typedef struct{
    UINT8  year;
    UINT8  month;
    UINT8  day;
    UINT8  hour;
    UINT8  minute;
 }Date_Time;

//报警信息存储结构(FLASH)
typedef struct{
    UINT8 SlaveID;
    UINT8 AlarmType;
    UINT8 year;
    UINT8 month;
    UINT8 day;
    UINT8 hour;
    UINT8 minute;
 }ALARM_INFO;
 
//该FLASH的共用体
typedef union 
       {
      struct{		  
             UINT8 SmsCentre_Buff[15];
             UINT8 TelNum1_Buff[15];
             UINT8 TelNum2_Buff[15];
             UINT8 TelNum3_Buff[15];
             UINT8 Text1_Buff[30];
             UINT8 Text2_Buff[30];
             UINT8 Text3_Buff[30];
             UINT8 SlaveId_Buff[20];
             //UINT8 FLASHBUFFER[100];
		        }flash1;
     	struct
            {      
             UINT8 pStart_Buff[2];     
             UINT8 pEnd_Buff[2];
             UINT8 pFlag_Buff[1];
             UINT8 AlarmInfo_Buff[496];
             UINT8 AlarmDate_Buff[8]; 
            }flash2;
     }flashunion;

/*************************************
*常数定义
*************************************/
#define MASTERID 0x00		//本座机的ID
#define BUFLEN 109				//接收有效数据长度



//报警类型
//#define COMMU_ERROR_ALARM    0x70
#define MOVE_ALARM     0x71
#define LOST_ALARM     0x72
#define POWER_ALARM    0x73
#define MASTER_ALARM	 0x74
#define MASTER_POWER_ALARM 0x75


#define LOST_ID        0x76
#define POWER_ID       0x77
#define MOVE_ID        0x78
#define BeginAlarm				0x00
#define LostAlarm1        0x01
#define LostAlarm1Finish  0x02
#define LostAlarm2        0x03
#define LostAlarm2Finish  0x04
#define LostAlarm3        0x05
#define LostAlarm3Finish  0x06
#define PowerAlarm1				0x07
#define PowerAlarm1Finish 0x08
#define PowerAlarm2       0x09
#define PowerAlarm2Finish 0x0A
#define PowerAlarm3       0x0B
#define PowerAlarm3Finish 0x0C
#define MoveAlarm1        0x0D
#define MoveAlarm1Finish  0x0E
#define MoveAlarm2        0x0F
#define MoveAlarm2Finish  0x10
#define MoveAlarm3        0x11
#define MoveAlarm3Finish  0x12
#define LostAlarm1Id        0x13
#define LostAlarm1IdFinish  0x14
#define LostAlarm2Id        0x15
#define LostAlarm2IdFinish  0x16
#define LostAlarm3Id        0x17
#define LostAlarm3IdFinish  0x18
#define PowerAlarm1Id				0x19
#define PowerAlarm1IdFinish 0x1A
#define PowerAlarm2Id       0x1B
#define PowerAlarm2IdFinish 0x1C
#define PowerAlarm3Id       0x1D
#define PowerAlarm3IdFinish 0x1E
#define MoveAlarm1Id        0x1F
#define MoveAlarm1IdFinish  0x20
#define MoveAlarm2Id        0x21
#define MoveAlarm2IdFinish  0x22
#define MoveAlarm3Id        0x23
#define MoveAlarm3IdFinish  0x24
#define DialLost         0x25
#define HangLost				 0x26
#define DialPower        0x27
#define HangPower        0x28
#define DialMove         0x29
#define HangMove         0x2A

#define BELL  PTAD_PTAD3     //蜂鸣器

/************************************
*函数声明
************************************/
void SoftDog_Init(void);		//看门狗初始化
void App_Init(void);        //应用初始化
void Data_Evalate(void);
void TimeInterrupt_Init(void);  //中断初始化
void SCIInit(void);
void IRQ_Init(void);
void Wait1ms(void);
char CheckXor(UINT8 ByLen,UINT8 *lpdata);
void ProcessReceiveDataLoop(void);
interrupt void VTimer2(void);
unsigned char Feb(UINT8 year_buff);
void Flash2IsFull(void);
UINT8  SlaveIsInFlash(UINT8 SlaveID);
void WriteAlarm(UINT8 DeviceID,UINT8 Type);
void WriteConfig(UINT8* pTelNum,UINT8 Length_TelNum,UINT8 SerialNum) ;
void WriteAlarmInfo(UINT8* pTelNum,UINT8 Length_TelNum,UINT8 SerialNum);
interrupt void VTimer1();
void CommonAck(UINT8 cmd);
void AlarmFlashStatistic(void);
void Feed_SoftDog(void);
void Feed_HardDog(void);
interrupt void IRQ(void);



#endif  //__MASTERMODULE_H__

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -