2024-08-22 16:24:54 +08:00
|
|
|
|
/***
|
|
|
|
|
* @Author: mbw
|
|
|
|
|
* @Date: 2024-08-20 15:51:16
|
|
|
|
|
* @LastEditors: mbw && 1600520629@qq.com
|
2024-09-20 11:14:25 +08:00
|
|
|
|
* @LastEditTime: 2024-09-20 10:06:56
|
2024-08-22 16:24:54 +08:00
|
|
|
|
* @FilePath: \USART1_Interrupt - RT-Thread\drivers\inc\drv_uart.h
|
|
|
|
|
* @Description:
|
|
|
|
|
* @
|
|
|
|
|
* @Copyright (c) 2024 by ${git_name_email}, All Rights Reserved.
|
|
|
|
|
*/
|
|
|
|
|
/************************************************************************************************/
|
|
|
|
|
/**
|
|
|
|
|
* @file usart_bsp.h
|
|
|
|
|
* @author MCU Ecosystem Development Team
|
|
|
|
|
* @brief USART BSPͷ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
*
|
|
|
|
|
*
|
|
|
|
|
**************************************************************************************************
|
|
|
|
|
* @attention
|
|
|
|
|
* Copyright (c) CEC Huada Electronic Design Co.,Ltd. All rights reserved.
|
|
|
|
|
*
|
|
|
|
|
**************************************************************************************************
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
/* <20><><EFBFBD><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD><C4BC>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD> */
|
|
|
|
|
#ifndef USART_BSP_H
|
|
|
|
|
#define USART_BSP_H
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
|
extern "C" {
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
/*------------------------------------------includes--------------------------------------------*/
|
|
|
|
|
#include <rtthread.h>
|
|
|
|
|
#include <rthw.h>
|
|
|
|
|
#include "lwrb.h"
|
|
|
|
|
typedef enum
|
|
|
|
|
{
|
|
|
|
|
kCheck0Stop1 = 0U,
|
|
|
|
|
kCheck0Stop2,
|
|
|
|
|
kCheckOdd,
|
|
|
|
|
kCheckEven
|
|
|
|
|
} TeUsartParityMode;
|
|
|
|
|
|
|
|
|
|
|
2024-09-19 11:46:33 +08:00
|
|
|
|
/*------------------------------------------USART1---------------------------------------------*/
|
2024-09-19 17:13:58 +08:00
|
|
|
|
#define UART1_RX_THREAD_STACK_SIZE (640)
|
2024-09-14 16:50:58 +08:00
|
|
|
|
#define UART1_RX_THREAD_PRIORITY (20)
|
|
|
|
|
#define UART1_RX_THREAD_TIMESLICE (5)
|
2024-08-22 16:24:54 +08:00
|
|
|
|
|
|
|
|
|
#define UART1_RX_BUFFER_LENGTH (128U)
|
|
|
|
|
#define UART1_RX_RB_LENGTH (128U)
|
2024-09-20 11:14:25 +08:00
|
|
|
|
#define UART1_TX_RB_LENGTH (896U)
|
2024-08-22 16:24:54 +08:00
|
|
|
|
|
|
|
|
|
#define UART1_DMA_RX_CHANNEL DMA_CHANNEL_0
|
|
|
|
|
#define UART1_DMA_TX_CHANNEL DMA_CHANNEL_1
|
|
|
|
|
|
2024-09-20 11:14:25 +08:00
|
|
|
|
|
2024-08-22 16:24:54 +08:00
|
|
|
|
#define UART1_DMA_RX_IRQ_CHANNEL DMA_Channel0_IRQn
|
|
|
|
|
#define UART1_DMA_TX_IRQ_CHANNEL DMA_Channel1_IRQn
|
|
|
|
|
|
|
|
|
|
rt_uint32_t UART1_Write(const void* data, size_t len);
|
|
|
|
|
rt_uint32_t UART1_SendString(const char* str);
|
|
|
|
|
|
2024-09-14 16:50:58 +08:00
|
|
|
|
/*-------------------------------------------UART2-------------------------------------------------*/
|
|
|
|
|
#define UART2_RX_BUFFER_LENGTH (64U)
|
|
|
|
|
#define UART2_RX_RB_LENGTH (128U)
|
|
|
|
|
|
2024-09-19 11:46:33 +08:00
|
|
|
|
/*-------------------------------------------UART3-------------------------------------------------*/
|
|
|
|
|
#define UART3_RX_BUFFER_LENGTH (256U)
|
|
|
|
|
#define UART3_RX_RB_LENGTH (128U)
|
|
|
|
|
#define UART3_TX_RB_LENGTH (256U)
|
|
|
|
|
|
|
|
|
|
|
2024-08-31 10:27:58 +08:00
|
|
|
|
/*-------------------------------------------LPUART1-------------------------------------------------*/
|
|
|
|
|
#define LPUART1_RX_BUFFER_LENGTH (16U)
|
|
|
|
|
#define LPUART1_RX_RB_LENGTH (16U)
|
|
|
|
|
#define LPUART1_TX_RB_LENGTH (128U)
|
|
|
|
|
|
|
|
|
|
extern lwrb_t lpuart1_rx_rb;
|
|
|
|
|
extern lwrb_t uart1_rx_rb;
|
2024-09-14 16:50:58 +08:00
|
|
|
|
extern lwrb_t uart2_rx_rb;
|
2024-09-19 11:46:33 +08:00
|
|
|
|
extern lwrb_t uart3_rx_rb;
|
2024-08-31 10:27:58 +08:00
|
|
|
|
#ifdef DEBUG_OUTPUT_SELECT
|
|
|
|
|
extern rt_sem_t uart1_rx_ok_sem;
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
rt_uint32_t LPUART1_Write(const void* data, size_t len);
|
|
|
|
|
rt_uint32_t LPUART1_SendString(const char* str);
|
|
|
|
|
|
2024-09-14 16:50:58 +08:00
|
|
|
|
|
2024-08-22 16:24:54 +08:00
|
|
|
|
/*-------------------------------------------functions------------------------------------------*/
|
|
|
|
|
|
|
|
|
|
int rt_hw_usart_init(void);
|
|
|
|
|
|
2024-09-14 16:50:58 +08:00
|
|
|
|
void UART2_Init(uint32_t baudrate, uint32_t par);
|
|
|
|
|
void LPUART1_Init(uint32_t baudrate, uint32_t par);
|
|
|
|
|
|
2024-08-22 16:24:54 +08:00
|
|
|
|
#ifdef __cplusplus
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#endif /* USART_BSP_H */
|