JZsdk_Hal.h 1.9 KB
/**
 ********************************************************************
 * @file   JZsdk_Hal.h
 *         JZsdk_Hal.c 的头文件
 * @version V0.1.0
 * @date   
 * @brief   This is the JZsdk_Hal.h file
 *
 * @attention
 *
 *
 *********************************************************************

/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/
#ifndef JZSDK_HAL_H
#define JZSDK_HAL_H

/* Includes ------------------------------------------------------------------*/

#ifdef __cplusplus
extern "C" {
#endif


/* Exported constants --------------------------------------------------------*/
/* 常亮定义*/

typedef enum E_HAL_PORT_TYPE
{
    PORT_TYPE_PSDK   = 0,
    PORT_TYPE_UART = 1,
    PORT_TYPE_USB  = 2,
    PORT_TYPE_NET  = 3,
    
    PORT_TYPE_TRANS_DATA = 4,
}E_HAL_PORT_TYPE;

/******************
 * 
 *  hal使用状态
 * 
 * 
 * 
 * ********/
typedef struct s_JZsdk_HalStatus
{
    int UseFlag; //hal使用标志位    //初始化时开关关闭
    int ConnectStatus; //接收过连接帧后打开
    int HeartBeatStatusSend; //心跳帧的发送开关
    int PortType;
}s_JZsdk_HalStatus;

typedef struct s_JZsdk_Hal_Info
{
    s_JZsdk_HalStatus HalPort[0x50]; //记录hal使用的端口状态
    int HaveUsePort[0x50]; //记录已经使用的端口
    int HaveUsePortNum;   //记录已经使用的端口数量

}s_JZsdk_Hal_Info;

/* Exported types ------------------------------------------------------------*/

/* Exported functions --------------------------------------------------------*/
int JZsdk_HalPort_UseFlag(int PortName);
T_JZsdkReturnCode JZsdk_HalPort_SetUseFlag(int PortName,int UseFlag);

T_JZsdkReturnCode JZsdk_HalPort_Init(int PortName, int Value[]);
T_JZsdkReturnCode JZsdk_HalPort_ReInit(int PortName, int Value[]);

T_JZsdkReturnCode JZsdk_Hal_Init();

s_JZsdk_Hal_Info *JZsdk_Hal_GetHalInfo();

#ifdef __cplusplus
}
#endif

#endif