LPC4337之UART收发实验(Polling)
上次我们使用LPC4337跑了下流水灯,这次我们来跑下他的串口(Polling方式),接下来先看下LPC43XX系列串口的特点:
•16字节接收和发送FIFO。
•寄存器位置符合550行业标准。
•接收器FIFO触发点为1,4,8和14字节。
•内置波特率发生器。
•UART模式允许实现软件或硬件流控制。
•支持输出使能的RS-485 / EIA-485 9位模式。
•支持同步模式UART(USART)。
•IrDA接口(仅限USART3)。
•DMA支持。
•智能卡接口。
使用步骤:
1.通过万能的SCU模块设置复用引脚功能为串口
2.设置串口波特率等参数
3.配置串口FIFO
4.接收数据(发送数据需要打开发送功能)
代码
- /*
- * 选择引脚复用
- */
- scu_pinmux(2, 0, MD_PDN, FUNC1); /* P2.1->UART0_TXD */
- scu_pinmux(2, 1, MD_PLN | MD_EZI | MD_ZI, FUNC1);
- /*
- * 串口参数配置
- * Baudrate = 9600bps
- * Word Length Select = 8 data bit
- * Stop Bit Select = 1 Stop bit
- * Parity Select = None parity
- */
- UARTConfigStruct.Baud_rate = 115200;
- UARTConfigStruct.Databits = UART_DATABIT_8;
- UARTConfigStruct.Parity = UART_PARITY_NONE;
- UARTConfigStruct.Stopbits = UART_STOPBIT_1;
- UARTConfigStruct.Clock_Speed = 0;
- UART_Init(LPC_USART0,&UARTConfigStruct);
- /*
- * Config UART FIFO
- * FIFO_DMAMode = DISABLE
- * FIFO_Level = UART_FIFO_TRGLEV0
- * FIFO_ResetRxBuf = ENABLE
- * FIFO_ResetTxBuf = ENABLE
- * FIFO_State = ENABLE
- */
- UARTFIFOConfigStruct.FIFO_DMAMode = DISABLE;
- UARTFIFOConfigStruct.FIFO_Level = UART_FIFO_TRGLEV0;
- UARTFIFOConfigStruct.FIFO_ResetRxBuf = ENABLE;
- UARTFIFOConfigStruct.FIFO_ResetTxBuf = ENABLE;
- UART_FIFOConfig(LPC_USART0, &UARTFIFOConfigStruct);
- /* enable tx */
- UART_TxCmd(LPC_USART0, ENABLE);
- UART_Send(LPC_USART0, test, sizeof(test), BLOCKING);
- /**
- *UART Rev
- */
- UART_Receive(LPC_USART0, ucBuffer, sizeof(ucBuffer), NONE_BLOCKING);
复制代码
|