You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

59 lines
1.4 KiB

/*
*********************************************************************************************************
*
* 模块名称 : 消息处理模块
* 文件名称 : bsp_msg.h
* 版 本 : V1.0
* 说 明 : 头文件
*
* Copyright (C), 2013-2014, 安富莱电子 www.armfly.com
*
*********************************************************************************************************
*/
#ifndef __BSP_MSG_H
#define __BSP_MSG_H
#include "main.h"
#define MSG_FIFO_SIZE 40 /* 消息个数 */
enum
{
MSG_NONE = 0,
MSG_485_RX_RTU, /* 接收到RS485 MODBUS RTU数据包*/
MSG_485_RX_NOT_RTU, /* 接收到RS485数据包,CRC未过 */
MSG_CAN1_RX, /* 收到CAN1数据包。can_netword.c 中引用 */
MSG_CAN2_RX, /* 收到CAN2数据包。can_netword.c 中引用 */
MSG_WM8978_DMA_END, /* DMA传输结束 */
};
/* 按键FIFO用到变量 */
typedef struct
{
uint16_t MsgCode; /* 消息代码 */
uint32_t MsgParam; /* 消息的数据体, 也可以是指针(强制转化) */
}MSG_T;
/* 按键FIFO用到变量 */
typedef struct
{
MSG_T Buf[MSG_FIFO_SIZE]; /* 消息缓冲区 */
uint8_t Read; /* 缓冲区读指针1 */
uint8_t Write; /* 缓冲区写指针 */
uint8_t Read2; /* 缓冲区读指针2 */
}MSG_FIFO_T;
/* 供外部调用的函数声明 */
void bsp_InitMsg(void);
void bsp_PutMsg(uint16_t _MsgCode, uint32_t _MsgParam);
uint8_t bsp_GetMsg(MSG_T *_pMsg);
uint8_t bsp_GetMsg2(MSG_T *_pMsg);
void bsp_ClearMsg(void);
#endif
/***************************** 安富莱电子 www.armfly.com (END OF FILE) *********************************/