20240909-DXSPX-emb/Src/Usr/BSP/BSPUart.h

143 lines
5.8 KiB
C
Raw Normal View History

#ifndef _BSPUART_H_
#define _BSPUART_H_
#include <stdbool.h>
#include <stdint.h>
#include "driverlib/gpio.h"
#include "driverlib/pin_map.h"
#include "driverlib/sysctl.h"
#include "driverlib/uart.h"
#include "driverlib/interrupt.h"
#include "inc/hw_memmap.h"
#include "inc/hw_ints.h"
/* <20><><EFBFBD><EFBFBD><EFBFBD>ʶ<EFBFBD><CAB6><EFBFBD>ֵ */
#define USR_UART_BANDRATE_4800 4800
#define USR_UART_BANDRATE_9600 9600
#define USR_UART_BANDRATE_14400 14400
#define USR_UART_BANDRATE_19200 19200
#define USR_UART_BANDRATE_38400 38400
#define USR_UART_BANDRATE_56000 56000
#define USR_UART_BANDRATE_57600 57600
#define USR_UART_BANDRATE_115200 115200
/* <20><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>ֵ */
#define USR_UART_DATABIT_8 UART_CONFIG_WLEN_8
#define USR_UART_DATABIT_7 UART_CONFIG_WLEN_7
#define USR_UART_DATABIT_6 UART_CONFIG_WLEN_6
#define USR_UART_DATABIT_5 UART_CONFIG_WLEN_5
/* ֹͣλ<D6B9><CEBB><EFBFBD><EFBFBD>ֵ */
#define USR_UART_STOPBIT_ONE UART_CONFIG_STOP_ONE
#define USR_UART_STOPBIT_TWO UART_CONFIG_STOP_TWO
/* У<><D0A3>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>ֵ */
#define USR_UART_CHECKBIT_NONE UART_CONFIG_PAR_NONE
#define USR_UART_CHECKBIT_EVEN UART_CONFIG_PAR_EVEN // żУ<C5BC><D0A3>
#define USR_UART_CHECKBIT_ODD UART_CONFIG_PAR_ODD // <20><>У<EFBFBD><D0A3>
/* <20><><EFBFBD><EFBFBD>0 */
#define USR_UART0 0
#define USR_UART0_SYSCTL SYSCTL_PERIPH_UART0
#define USR_UART0_GPIO_SYSCTL SYSCTL_PERIPH_GPIOA
#define USR_URAT0_GPIO_RX GPIO_PA0_U0RX
#define USR_UART0_GPIO_TX GPIO_PA1_U0TX
#define USR_UART0_GPIO_BASE GPIO_PORTA_BASE
#define USR_URAT0_GPIO_RX_PIN GPIO_PIN_0
#define USR_UART0_GPIO_TX_PIN GPIO_PIN_1
#define USR_UART0_BASE UART0_BASE
#define USR_BSP_INT_ID_UART0 BSP_INT_ID_UART0
#define USR_INT_UART0 INT_UART0
/* <20><><EFBFBD><EFBFBD>1 */
#define USR_UART1 1
#define USR_UART1_SYSCTL SYSCTL_PERIPH_UART1
#define USR_UART1_GPIO_SYSCTL SYSCTL_PERIPH_GPIOB
#define USR_URAT1_GPIO_RX GPIO_PB0_U1RX
#define USR_UART1_GPIO_TX GPIO_PB1_U1TX
#define USR_UART1_GPIO_BASE GPIO_PORTB_BASE
#define USR_URAT1_GPIO_RX_PIN GPIO_PIN_0
#define USR_UART1_GPIO_TX_PIN GPIO_PIN_1
#define USR_UART1_BASE UART1_BASE
#define USR_BSP_INT_ID_UART1 BSP_INT_ID_UART1
#define USR_INT_UART1 INT_UART1
/* <20><><EFBFBD><EFBFBD>2 */
#define USR_UART2 2
#define USR_UART2_SYSCTL SYSCTL_PERIPH_UART2
#define USR_UART2_GPIO_SYSCTL SYSCTL_PERIPH_GPIOA
#define USR_URAT2_GPIO_RX GPIO_PA6_U2RX
#define USR_UART2_GPIO_TX GPIO_PA7_U2TX
#define USR_UART2_GPIO_BASE GPIO_PORTA_BASE
#define USR_URAT2_GPIO_RX_PIN GPIO_PIN_6
#define USR_UART2_GPIO_TX_PIN GPIO_PIN_7
#define USR_UART2_BASE UART2_BASE
#define USR_BSP_INT_ID_UART2 BSP_INT_ID_UART2
#define USR_INT_UART2 INT_UART2
/* <20><><EFBFBD><EFBFBD>3 */
#define USR_UART3 3
#define USR_UART3_SYSCTL SYSCTL_PERIPH_UART3
#define USR_UART3_GPIO_SYSCTL SYSCTL_PERIPH_GPIOA
#define USR_URAT3_GPIO_RX GPIO_PA4_U3RX
#define USR_UART3_GPIO_TX GPIO_PA5_U3TX
#define USR_UART3_GPIO_BASE GPIO_PORTA_BASE
#define USR_URAT3_GPIO_RX_PIN GPIO_PIN_4
#define USR_UART3_GPIO_TX_PIN GPIO_PIN_5
#define USR_UART3_BASE UART3_BASE
#define USR_BSP_INT_ID_UART3 BSP_INT_ID_UART3
#define USR_INT_UART3 INT_UART3
/* <20><><EFBFBD><EFBFBD>4 */
#define USR_UART4 4
#define USR_UART4_SYSCTL SYSCTL_PERIPH_UART4
#define USR_UART4_GPIO_SYSCTL SYSCTL_PERIPH_GPIOA
#define USR_URAT4_GPIO_RX GPIO_PA2_U4RX
#define USR_UART4_GPIO_TX GPIO_PA3_U4TX
#define USR_UART4_GPIO_BASE GPIO_PORTA_BASE
#define USR_URAT4_GPIO_RX_PIN GPIO_PIN_2
#define USR_UART4_GPIO_TX_PIN GPIO_PIN_3
#define USR_UART4_BASE UART4_BASE
#define USR_BSP_INT_ID_UART4 BSP_INT_ID_UART4
#define USR_INT_UART4 INT_UART4
/* <20><><EFBFBD><EFBFBD>5 */
#define USR_UART5 5
#define USR_UART5_SYSCTL SYSCTL_PERIPH_UART5
#define USR_UART5_GPIO_SYSCTL SYSCTL_PERIPH_GPIOC
#define USR_URAT5_GPIO_RX GPIO_PC6_U5RX
#define USR_UART5_GPIO_TX GPIO_PC7_U5TX
#define USR_UART5_GPIO_BASE GPIO_PORTC_BASE
#define USR_URAT5_GPIO_RX_PIN GPIO_PIN_6
#define USR_UART5_GPIO_TX_PIN GPIO_PIN_7
#define USR_UART5_BASE UART5_BASE
#define USR_BSP_INT_ID_UART5 BSP_INT_ID_UART5
#define USR_INT_UART5 INT_UART5
/* <20><><EFBFBD><EFBFBD>6 */
#define USR_UART6 6
#define USR_UART6_SYSCTL SYSCTL_PERIPH_UART6
#define USR_UART6_GPIO_SYSCTL SYSCTL_PERIPH_GPIOP
#define USR_URAT6_GPIO_RX GPIO_PP0_U6RX
#define USR_UART6_GPIO_TX GPIO_PP1_U6TX
#define USR_UART6_GPIO_BASE GPIO_PORTP_BASE
#define USR_URAT6_GPIO_RX_PIN GPIO_PIN_0
#define USR_UART6_GPIO_TX_PIN GPIO_PIN_1
#define USR_UART6_BASE UART6_BASE
#define USR_BSP_INT_ID_UART6 BSP_INT_ID_UART6
#define USR_INT_UART6 INT_UART6
/* <20><><EFBFBD><EFBFBD>7 */
#define USR_UART7 7
#define USR_UART7_SYSCTL SYSCTL_PERIPH_UART7
#define USR_UART7_GPIO_SYSCTL SYSCTL_PERIPH_GPIOC
#define USR_URAT7_GPIO_RX GPIO_PC4_U7RX
#define USR_UART7_GPIO_TX GPIO_PC5_U7TX
#define USR_UART7_GPIO_BASE GPIO_PORTC_BASE
#define USR_URAT7_GPIO_RX_PIN GPIO_PIN_4
#define USR_UART7_GPIO_TX_PIN GPIO_PIN_5
#define USR_UART7_BASE UART7_BASE
#define USR_BSP_INT_ID_UART7 BSP_INT_ID_UART7
#define USR_INT_UART7 INT_UART7
#define USR_UART_ID_MAX 7
int8_t BspUartInit(uint8_t uart_id, uint32_t bandrate, uint8_t databit, uint8_t stopbit, uint8_t checkbit);
int8_t BspUartSend(uint8_t uart_id, uint8_t *data, uint32_t data_len);
uint32_t BspUartGetInfo(uint8_t uart_id, uint8_t *info, uint32_t info_len);
#endif