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

📄 sysframe.h

📁 在ARM7和UC/OSII的平台上实现了GPS自动报站的功能,涉及GPS模块LEA_4S的驱动,位置速寻算法,语音芯片ISD4004的录放音驱动,LED页面管理等等.从启动代码到操作系统的移植以及到业
💻 H
字号:
/****************************************************************
**                                                              *
**  FILE         :  SYSFrame.H                                  *
**  COPYRIGHT    :  (c) 2001 .Xiamen Yaxon NetWork CO.LTD       *
**                                                              *
**                                                              *
**  By : CCH 2002.1.15                                          *
****************************************************************/
#ifndef DEF_SYSFRAME
#define DEF_SYSFRAME

#include "structs.h"
#include "stream.h"
#include "sm_list.h"


/*
********************************************************************************
*                  DEFINE SYSTEM FRAME STRUCT
********************************************************************************
*/
typedef struct {
    INT8U   EGCODE[2];
    INT8U   version;
    INT8U   type[2];
    INT8U   DTel[SYS_TELLEN];
    INT8U   STel[SYS_TELLEN];
    INT8U   data[1];
} SYSFRAME_STRUCT;

typedef struct {
    INT8U   EGCODE[2];
    INT8U   version;    
    INT8U   type[2];
    INT8U   STel[SYS_TELLEN];
    INT8U   data[1];
} SYSFRAME_UP_STRUCT;

/*
********************************************************************************
*                  DEFINE SYSTEM FRAME ACK TYPE
********************************************************************************
*/
#define _SYSFRAME_ACK                   0x01
#define _SYSFRAME_NAK                   0x7f



__inline INT8U *GetAckTel_SYSFrame(SYSFRAME_STRUCT *frame)
{
    return frame->STel;
}

__inline INT16U GetAckTellen_SYSFrame(SYSFRAME_STRUCT *frame)
{
    return DecodeTellen(frame->STel, sizeof(frame->STel));
}

INT8U   GetSysFrameVersion(void);
BOOLEAN ChkSum_SYSFrame(SYSFRAME_STRUCT *frame, INT16U framelen);
void    ConvertEgcode(SYSFRAME_STRUCT *frame);
INT16U  GetEgcode_SYSFrame(SYSFRAME_STRUCT *frame);
INT16U  GetType_SYSFrame(SYSFRAME_STRUCT *frame);
BOOLEAN ChkEgcode_SYSFrame(SYSFRAME_STRUCT *frame);
BOOLEAN ChkMyTel_SYSFrame(SYSFRAME_STRUCT *frame);
void    StoreMyTel_SYSFrame(SYSFRAME_STRUCT *frame);

void    ASMSYSFrameHead_MODE1(STREAM *sp, SYSFRAME_STRUCT *frame, INT16U type);
void    ASMSYSFrameHead_MODE2(STREAM *sp, INT16U egcode, INT16U type);
void    ASMSYSAckFrame(STREAM *sp, SYSFRAME_STRUCT *frame, INT16U type, INT8U acktype);

BOOLEAN SendSYSFrame_MODE1(STREAM *sp, SYSFRAME_STRUCT *frame, INT16U attrib);
BOOLEAN SendSYSFrame_MODE2(STREAM *sp, INT8U *tel, INT8U tellen, INT16U attrib, void (*fp)(INT8U));

STREAM *GetSYSFrameStream(void);


#endif

⌨️ 快捷键说明

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