第一次提交

This commit is contained in:
2026-04-09 10:14:20 +08:00
commit e325a77b42
584 changed files with 279711 additions and 0 deletions

71
Bsp/bsp_uart.h Normal file
View File

@@ -0,0 +1,71 @@
#ifndef __BSP_UART_H
#define __BSP_UART_H
#include "at32a423.h"
#include "circular_buffer.h"
//<2F><><EFBFBD><EFBFBD>1
#define USART1_TX_BUF_LEN 2 //<2F><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С
#define USART1_RX_BUF_LEN 2 //<2F><><EFBFBD>յĻ<D5B5><C4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С
#define USART1_GPIOx GPIOA
#define BSP_USART1_TX_PIN GPIO_PINS_9 // <20><><EFBFBD><EFBFBD>0TX<54><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define BSP_USART1_RX_PIN GPIO_PINS_10 // <20><><EFBFBD><EFBFBD>0RX<52><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD>2
#define USART2_TX_BUF_LEN 2 //<2F><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С
#define USART2_RX_BUF_LEN 2 //<2F><><EFBFBD>յĻ<D5B5><C4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С
#define USART2_GPIOx GPIOB
#define BSP_USART2_TX_PIN GPIO_PIN_10 // <20><><EFBFBD><EFBFBD>2TX<54><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define BSP_USART2_RX_PIN GPIO_PIN_5 // <20><><EFBFBD><EFBFBD>2RX<52><58><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>GPIOC--5<>Ƚ<EFBFBD><C8BD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD>3
#define USART3_TX_BUF_LEN 1024 //<2F><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С
#define USART3_RX_BUF_LEN 1024 //<2F><><EFBFBD>յĻ<D5B5><C4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С
#define USART3_GPIOx GPIOB
#define BSP_USART3_TX_PIN GPIO_PINS_10 // <20><><EFBFBD><EFBFBD>0TX<54><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define BSP_USART3_RX_PIN GPIO_PINS_11 // <20><><EFBFBD><EFBFBD>0RX<52><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD>4
#define USART4_TX_BUF_LEN 2 //<2F><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С
#define USART4_RX_BUF_LEN 2 //<2F><><EFBFBD>յĻ<D5B5><C4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С
#define USART4_GPIOx GPIOC
#define BSP_UART4_TX_PIN GPIO_PIN_12 // <20><><EFBFBD><EFBFBD>0TX<54><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define BSP_UART4_RX_PIN GPIO_PIN_2 // <20><><EFBFBD><EFBFBD>0RX<52><58><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>GPIOD--2
//<2F><><EFBFBD><EFBFBD>5
#define USART5_TX_BUF_LEN 2 //<2F><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С
#define USART5_RX_BUF_LEN 2 //<2F><><EFBFBD>յĻ<D5B5><C4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С
#define USART5_GPIOx GPIOB
#define BSP_USART5_TX_PIN GPIO_PINS_3 // <20><><EFBFBD><EFBFBD>0TX<54><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define BSP_USART5_RX_PIN GPIO_PINS_4 // <20><><EFBFBD><EFBFBD>0RX<52><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define CIRCULAR_BUFFER_ENABLE 1 //<2F><><EFBFBD><EFBFBD>ѭ<EFBFBD><D1AD><EFBFBD><EFBFBD><EFBFBD>ڻ<EFBFBD><DABB><EFBFBD><EFBFBD><EFBFBD>
#if CIRCULAR_BUFFER_ENABLE
typedef enum {
USART_0_TR,
USART_1_TR,
USART_2_TR,
USART_3_TR,
USART_4_TR,
USART_5_TR,
} USART_COM_ID_T;
uint8_t usart_tx_push(USART_COM_ID_T com_id, uint8_t *data, uint16_t len);
uint8_t usart_rx_recv(USART_COM_ID_T com_id, uint8_t *data, uint16_t len);
unsigned int usart_rx_read(USART_COM_ID_T com_id,uint8_t *data,uint16_t len);
unsigned char usart_rx_at(USART_COM_ID_T com_id, uint8_t offset);
void usart_rx_drop(USART_COM_ID_T com_id, uint8_t drop_lens);
int usart_rx_get_rx_data_count(USART_COM_ID_T com_id);
int usart_rx_probe(USART_COM_ID_T com_id);
#endif
#define ARRAYNUM(arr_name) (uint32_t)(sizeof(arr_name) / sizeof(*(arr_name)))
void uart1_init(uint32_t band_rate);
void uart3_init(uint32_t band_rate);
void uart5_init(uint32_t band_rate);
#endif