123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- #ifndef __hal_ble_uart0__
- #define __hal_ble_uart0__
- #include <stdbool.h>
- #include <stdint.h>
- #include <string.h>
- #include "sdk_common.h"
- #include "SEGGER_RTT.h"
- #include "usr_config.h"
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- #ifdef __cplusplus
- }
- #endif
- #define UART0_INVALID_PIN PIN_UART0_UNUSED_PIN //该引脚不能使用0XFF,否则程序崩溃。
- /*************** 发送命令 ********************/
- typedef enum {
- UART0_T_HEART = 0,
- UART0_T_CONFIG_ASK, //配对申请
- UART0_T_CONFIG_ACK, //配对成功
- UART0_T_CHAR_VOL, //充电电量
- UART0_T_SELF_CHECK_RDY, //自检准备
- UART0_T_SELF_CHECK_ASK, //自检开始
- UART0_T_SELF_CHECK_ACK, //自检结果
- UART0_T_LINE_CHECK_ASK, //自检串口线ASK
- UART0_T_LINE_CHECK_ACK, //自检串口线ACK
- UART0_NUM_OF_T, //命令连续用此值
- }UART0_T_n;
- //#define UART0_NUM_OF_T 9 //注意:::此值根据命令的数量改变
- /*************** 发送子命令 ********************/
- //enum { //UART0_T_UPDATE
- // UART0_T_UPDATE_BASEINFO = 0, //设备基本信息
- // UART0_T_UPDATE_DATA , //设备数据
- // UART0_T_UPDATE_STEPNUM , //回复存储步数
- // UART0_T_UPDATE_STEPNUM_CLERA, //删除存储步数
- //};
- //enum { //UART0_T_CHARGE
- // UART0_T_CHARGE_NONE = 0,
- // UART0_T_CHARGE_PULLOUT,
- // UART0_T_CHARGE_INSERT,
- // UART0_T_CHARGE_DONE,
- // UART0_T_CHARGE_ERROR,
- //};
- /*************** 接收命令 ********************/
- typedef enum {
- UART0_R_HEART = 0,
- UART0_R_CONFIG_ASK, //配对申请
- UART0_R_CONFIG_ACK, //配对成功
- UART0_R_CHAR_VOL, //充电电量
- UART0_R_SELF_CHECK_RDY, //自检准备
- UART0_R_SELF_CHECK_ASK, //自检开始
- UART0_R_SELF_CHECK_ACK, //自检结果
- UART0_R_LINE_CHECK_ASK, //自检串口线ASK
- UART0_R_LINE_CHECK_ACK, //自检串口线ACK
- UART0_NUM_OF_R, //命令连续用此值
- }UART0_R_n;
- //#define UART0_NUM_OF_R 11 //注意:::此值根据命令的数量改变
- /*************** 接收子命令 ********************/
- //enum { //UART0_R_UPDATE
- // UART0_R_UPDATE_BASEINFO = 0,
- // UART0_R_UPDATE_DATA ,
- // UART0_R_UPDATE_STEPNUM,
- // UART0_R_UPDATE_STEPNUM_CLERA,
- //};
- typedef void (*UART0_Callback)(void*);
- typedef struct _UART0_Rx{
- uint8_t cmd;
- uint8_t* pDat;
- uint8_t datLen;
- UART0_Callback cb;
- }UART0_Rx_t;
- typedef struct _UART0_Tx{
- uint8_t n;
- uint32_t t;
- uint8_t ncnt;
- uint32_t tcnt;
- uint8_t cmd;
- uint8_t* pDat;
- uint8_t datLen;
- uint8_t holdon;
- UART0_Callback cb;
- struct _UART0_Tx *next; //单向链表
- }UART0_Tx_t;
- void UART0_Initialize(uint32_t txd, uint32_t rxd, uint32_t baud);
- void UART0_unInit(uint32_t txd, uint32_t rxd);
- void UART0_Send(unsigned char cmd,unsigned char *pDat,unsigned char datLen);
- int UART0_Rx_Regist(unsigned char cmd,UART0_Callback cb);
- void UART0_Tx_Send(UART0_Tx_t* handle,unsigned char cmd,unsigned char *pDat,unsigned char datLen);
- void UART0_Tx_Clear(UART0_Tx_t* handle);
- void UART0_Push(unsigned char* p,int len);
- void UART0_GetPinConfig(uint32_t *txd, uint32_t *rxd);
- #endif
|