143 lines
5.8 KiB
C
143 lines
5.8 KiB
C
#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"
|
|
|
|
/* 波特率定义值 */
|
|
#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
|
|
|
|
/* 数据位定义值 */
|
|
#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
|
|
|
|
/* 停止位定义值 */
|
|
#define USR_UART_STOPBIT_ONE UART_CONFIG_STOP_ONE
|
|
#define USR_UART_STOPBIT_TWO UART_CONFIG_STOP_TWO
|
|
|
|
/* 校验位定义值 */
|
|
#define USR_UART_CHECKBIT_NONE UART_CONFIG_PAR_NONE
|
|
#define USR_UART_CHECKBIT_EVEN UART_CONFIG_PAR_EVEN // 偶校验
|
|
#define USR_UART_CHECKBIT_ODD UART_CONFIG_PAR_ODD // 奇校验
|
|
|
|
/* 串口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
|
|
/* 串口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
|
|
/* 串口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
|
|
/* 串口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
|
|
/* 串口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
|
|
/* 串口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
|
|
/* 串口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
|
|
/* 串口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
|