diff --git a/User/device/dependencies.csv b/User/device/dependencies.csv index 3190b8e..c47eea4 100644 --- a/User/device/dependencies.csv +++ b/User/device/dependencies.csv @@ -1 +1,3 @@ -oled_i2c,bsp/i2c \ No newline at end of file +oled_i2c,bsp/i2c +bmp280_i2c,bsp/i2c +pc_uart,bsp/uart \ No newline at end of file diff --git a/User/device/pc_uart.c b/User/device/pc_uart.c index 0e40455..eaedcbd 100644 --- a/User/device/pc_uart.c +++ b/User/device/pc_uart.c @@ -6,6 +6,8 @@ #include "bsp\uart.h" #include "device.h" +#define UART_HANDLE BSP_UART_GetHandle(BSP_UART_PC) + #define AI_LEN_RX_BUFF (sizeof(UART_RxData_t)) static bool rx_flag = false; @@ -17,14 +19,15 @@ static void UART_RxCpltCallback(void) { rx_flag = true; } int UART_Init(UART_t *huart) { UNUSED(huart); - HAL_UART_Receive_DMA(&BSP_UART_PC, rxbuf, AI_LEN_RX_BUFF); + //注册回调函数 + HAL_UART_RegisterCallback(UART_HANDLE, BSP_UART_RX_CPLT_CB, UART_RxCpltCallback); return DEVICE_OK } int UART_StartReceive(UART_t *huart) { UNUSED(huart); - HAL_UART_Receive_DMA(&BSP_UART_PC, rxbuf, AI_LEN_RX_BUFF); + HAL_UART_Receive_DMA(UART_HANDLE, rxbuf, AI_LEN_RX_BUFF); return DEVICE_OK; } @@ -46,7 +49,7 @@ void UART_PackTx(UART_t *huart, UART_TxData_t *tx_data) int8_t UART_StartSend(UART_t *huart) { - if (HAL_UART_Transmit_DMA(&BSP_UART_PC, huart->tx_data, sizeof(UART_TxData_t)) == HAL_OK) + if (HAL_UART_Transmit_DMA(UART_HANDLE, huart->tx_data, sizeof(UART_TxData_t)) == HAL_OK) { return DEVICE_OK }