#ifndef _USR_BSP_UART_H_ #define _USR_BSP_UART_H_ #include #include #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 usr_bsp_uart_init(uint8_t uart_id, uint32_t bandrate, uint8_t databit, uint8_t stopbit, uint8_t checkbit); int8_t usr_bsp_uart_send(uint8_t uart_id, uint8_t *data, uint32_t data_len); uint32_t usr_bsp_uart_get_info(uint8_t uart_id, uint8_t *info, uint32_t info_len); #endif