帮我写一个tm4c123gh6pm通过串口UART实现输出与输入相同的程序
时间: 2023-03-12 13:55:53 浏览: 108
下面是一个使用TM4C123GH6PM通过串口UART实现输出与输入相同的程序的例子: #include<stdint.h>
#include<stdbool.h>
#include "inc/hw_ints.h"
#include "inc/hw_memmap.h"
#include "inc/hw_types.h"
#include "driverlib/gpio.h"
#include "driverlib/interrupt.h"
#include "driverlib/pin_map.h"
#include "driverlib/sysctl.h"
#include "driverlib/uart.h" int main(void)
{
//初始化系统时钟
SysCtlClockSet(SYSCTL_XTAL_16MHZ|SYSCTL_SYSDIV_1);
//使能UART0
SysCtlPeripheralEnable(SYSCTL_PERIPH_UART0);
//使能GPIOA
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);
//将UART0的TX和RX引脚绑定到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));
//使能UART0接收中断
UARTIntEnable(UART0_BASE, UART_INT_RX | UART_INT_RT);
//使能UART0接收中断
IntEnable(INT_UART0);
//使能UART0
UARTEnable(UART0_BASE);
//主程序循环
while(1)
{
//等待串口接收中断
while(!UARTCharsAvail(UART0_BASE));
//读取串口数据
uint32_t data = UARTCharGetNonBlocking(UART0_BASE);
//将数据发送出去
UARTCharPut(UART0_BASE, data);
}
}
阅读全文