|
void UART1_Init(void)
{
SysCtlPeripheralEnable(SYSCTL_PERIPH_UART1); // 使能UART1模块
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB); // 使能RX/TX所在的GPIO端口
GPIOPinTypeUART(GPIO_PORTB_BASE, // 配置RX/TX所在管脚为
GPIO_PIN_0 | GPIO_PIN_1); // UART1收发功能
UARTConfigSet(UART1_BASE, // 配置UART1端口
9600, // 波特率:9600
UART_CONFIG_WLEN_8 | // 数据位:8
UART_CONFIG_STOP_ONE | // 停止位:1
UART_CONFIG_PAR_NONE); // 校验位:无
UARTFIFOLevelSet(UART1_BASE, // 设置收发FIFO中断触发深度
UART_FIFO_TX2_8, // 发送FIFO为2/8深度(4B)
UART_FIFO_RX7_8); // 接收FIFO为7/8深度(14B)
UARTIntEnable(UART1_BASE,UART_INT_RX | UART_INT_RT); // 使能接收和接收超时中断
//UARTIntEnable(UART1_BASE,UART_INT_TX);
IntPrioritySet(INT_UART1,UART1_INT_Priority); // 设置UART1中断优先级
IntEnable(INT_UART1); // 使能UART1总中断
//SysCtlPeripheralEnable(UART1_RTX_BASE);
GPIODirModeSet(UART1_RTX_BASE, UART1_RTX_PIN, GPIO_DIR_MODE_OUT);
GPIOPadConfigSet(UART1_RTX_BASE, UART1_RTX_PIN, GPIO_STRENGTH_8MA,
GPIO_PIN_TYPE_STD);
UARTEnable(UART1_BASE); // 使能UART1端口
UART1_RTX_H(); //这里先拉高,一直发送
Uart1_Puts("UART1 READY"); //在多台联机时,需要更改
//SysCtlDelay(20*(SysCtlClockGet()/3000));
//UART1_RTX_L();
} |
|