72 lines
2.3 KiB
C
72 lines
2.3 KiB
C
|
|
#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
|