tm4c如何使用 uartgets
时间: 2023-05-27 17:07:04 浏览: 59
在tm4c中使用uartgets函数,需要先配置UART模块,然后在程序中调用uartgets函数。
1. 配置UART模块
可以使用TI提供的驱动库进行配置,或者直接操作寄存器进行配置。
例如使用驱动库进行配置:
```c
#include "driverlib/gpio.h"
#include "driverlib/pin_map.h"
#include "driverlib/sysctl.h"
#include "driverlib/uart.h"
SysCtlPeripheralEnable(SYSCTL_PERIPH_UART0);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);
GPIOPinConfigure(GPIO_PA0_U0RX);
GPIOPinConfigure(GPIO_PA1_U0TX);
GPIOPinTypeUART(GPIO_PORTA_BASE, GPIO_PIN_0 | GPIO_PIN_1);
UARTConfigSetExpClk(UART0_BASE, SysCtlClockGet(), 115200,
UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE |
UART_CONFIG_PAR_NONE);
UARTEnable(UART0_BASE);
```
这里使用UART0作为例子,配置UART0的波特率为115200,数据位为8位,停止位为1位,无校验位。
2. 调用uartgets函数
uartgets函数的原型为:
```c
char *uartgets(uint32_t ui32Base, char *pcBuf, uint32_t ui32Len);
```
其中,ui32Base为UART的基地址,pcBuf为接收数据的缓存,ui32Len为缓存长度。
例如:
```c
char buf[32];
uartgets(UART0_BASE, buf, 32);
```
这里调用uartgets函数将接收数据存储到buf数组中。
需要注意的是,uartgets函数会一直等待接收到指定长度的数据或者遇到换行符('\n')才会返回,因此需要保证发送数据的长度和格式与接收端一致,否则可能会导致程序一直等待或者接收到错误的数据。