mirror of
				https://github.com/goldenfishs/MRobot.git
				synced 2025-11-04 05:23:10 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			69 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
#pragma once
 | 
						||
 | 
						||
#ifdef __cplusplus
 | 
						||
extern "C" {
 | 
						||
#endif
 | 
						||
 | 
						||
/* Includes ----------------------------------------------------------------- */
 | 
						||
#include <usart.h>
 | 
						||
#include <stdint.h>
 | 
						||
#include <stdbool.h>
 | 
						||
 | 
						||
#include "bsp/bsp.h"
 | 
						||
 | 
						||
/* USER INCLUDE BEGIN */
 | 
						||
 | 
						||
/* USER INCLUDE END */
 | 
						||
 | 
						||
/* Exported constants ------------------------------------------------------- */
 | 
						||
/* Exported macro ----------------------------------------------------------- */
 | 
						||
/* USER DEFINE BEGIN */
 | 
						||
 | 
						||
/* USER DEFINE END */
 | 
						||
 | 
						||
/* Exported types ----------------------------------------------------------- */
 | 
						||
 | 
						||
/* 要添加使用UART的新设备,需要先在此添加对应的枚举值 */
 | 
						||
 | 
						||
/* UART实体枚举,与设备对应 */
 | 
						||
typedef enum {
 | 
						||
/* AUTO GENERATED BSP_UART_NAME */
 | 
						||
  BSP_UART_NUM,
 | 
						||
  BSP_UART_ERR,
 | 
						||
} BSP_UART_t;
 | 
						||
 | 
						||
/* UART支持的中断回调函数类型,具体参考HAL中定义 */
 | 
						||
typedef enum {
 | 
						||
  BSP_UART_TX_HALF_CPLT_CB,
 | 
						||
  BSP_UART_TX_CPLT_CB,
 | 
						||
  BSP_UART_RX_HALF_CPLT_CB,
 | 
						||
  BSP_UART_RX_CPLT_CB,
 | 
						||
  BSP_UART_ERROR_CB,
 | 
						||
  BSP_UART_ABORT_CPLT_CB,
 | 
						||
  BSP_UART_ABORT_TX_CPLT_CB,
 | 
						||
  BSP_UART_ABORT_RX_CPLT_CB,
 | 
						||
 | 
						||
  BSP_UART_IDLE_LINE_CB,
 | 
						||
  BSP_UART_CB_NUM,
 | 
						||
} BSP_UART_Callback_t;
 | 
						||
 | 
						||
/* Exported functions prototypes -------------------------------------------- */
 | 
						||
 | 
						||
UART_HandleTypeDef *BSP_UART_GetHandle(BSP_UART_t uart);
 | 
						||
 | 
						||
void BSP_UART_IRQHandler(UART_HandleTypeDef *huart);
 | 
						||
 | 
						||
int8_t BSP_UART_RegisterCallback(BSP_UART_t uart, BSP_UART_Callback_t type,
 | 
						||
                                 void (*callback)(void));
 | 
						||
 | 
						||
int8_t BSP_UART_Transmit(BSP_UART_t uart, uint8_t *data, uint16_t size, bool dma);
 | 
						||
int8_t BSP_UART_Receive(BSP_UART_t uart, uint8_t *data, uint16_t size, bool dma);
 | 
						||
 | 
						||
/* USER FUNCTION BEGIN */
 | 
						||
 | 
						||
/* USER FUNCTION END */
 | 
						||
 | 
						||
#ifdef __cplusplus
 | 
						||
}
 | 
						||
#endif
 |