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

📄 addr.h

📁 freescale crc模块驱动 经调试
💻 H
字号:
/******************************************************************************
 * 头文件名: addr.h                                                           *
 ******************************************************************************/

# ifndef __ADDR_H__
# define __ADDR_H__

# include "mcubas.h"

/* 地址传递接收缓冲区的长度 */
# define  ADDRIBufLenMax  18
# define  ADDRIBufLenMin  4

/* 地址传递发送缓冲区的长度 */
# define  ADDROBufLenMax  8

/* 地址传递数据包引导字的长度 */
# define  ADDRILeadLenMin  2
# define  ADDRILeadLen     2
# define  ADDRILeadLenMax  4

/* 地址传递数据包的长度 */
# define  ADDRSendAddrPackLen  6
# define  ADDRFbkAddrPackLen   6
# define  ADDRConfirmPackLen   6

/* 地址传递数据包的类型 */
/* 这些类型的包用于系统刚上电时ARM与Motorola单片机的通信 */
# define  ADDRSioTypeSendAddr  0xD1                        // 地址发送包的类型
# define  ADDRSioTypeFbkAddr   0xD2                        // 地址反馈包的类型
# define  ADDRSioTypeConfirm   0xD3                        // 地址确认包的类型

/* 地址确认结果 */
# define  AddrFbkCorrect  0x55
# define  AddrFbkError    0xAA
# define  ReservedByte    0x00

/* 地址发送包 */
typedef struct {
	unsigned char lead[2];
	unsigned char type;
	unsigned char check;
	unsigned char addrh;                                   // 发送地址码高字节
	unsigned char addrl;                                   // 发送地址码低字节
} SioPackSendAddr;

/* 地址反馈包 */
typedef struct {
	unsigned char lead[2];
	unsigned char type;
	unsigned char check;
	unsigned char addrh;                                   // 反馈地址码高字节
	unsigned char addrl;                                   // 反馈地址码低字节
} SioPackFbkAddr;

/* 地址确认包 */
typedef struct {
	unsigned char lead[2];
	unsigned char type;
	unsigned char check;
	unsigned char result;
	unsigned char res0;
} SioPackConfirm;

/* 从ARM接收到的各种地址包的联合 */
typedef union {
	unsigned char  buf[ADDRIBufLenMax];
	SioPackFbkAddr fbkAddr;
} SioAddrPackRecvBuf;

/* 向ARM发送的各种地址包的联合 */
typedef union {
	unsigned char   buf[ADDROBufLenMax];
	SioPackSendAddr sendAddr;
	SioPackConfirm  confirm;
} SioAddrPackSendBuf;

/* 遥控器地址码的联合 */
typedef union {
	unsigned short addrCode;
	struct {
		unsigned char addrh;                               // 地址码高字节
		unsigned char addrl;                               // 地址码低字节
	} s;
} KSCRFAddrCode;

/* 全局变量声明 */
extern unsigned char cflgAddrReady;

/* 子函数声明 */
void InitDataAddr(void);
void SendAddrPack(void);
void RecvAddrMsg (void);

# endif                                                    // __ADDR_H__

⌨️ 快捷键说明

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