主题中讨论的其他器件: BOOSTXL-RS232
工具/软件:Code Composer Studio
大家好,我正在尝试使用以下代码通过 UART 从 PC 更新变量, 但使用 UARTgetc()我只能得到单个字符(即如果我发送13,我只能接收3个字符),不管怎样,我都能得到完整数字。
另一个问题是我正在接收字符、但我需要整数。
#define TM4C123GH6PM #include #include include "inc/hw_gpio.h"#include "void/hw_types.h"#include "inc/hw_memmap.h"#include "driverlib/sysctL.h"#include "driverlib/rom_map.h"#include "driverlib/spin_map.h"#include "driverlib#driverlib/snec.h"#include "driverlib#driverlib_sym.dl"#include "driverlib#driverlib#driverlib.dl.inc"#driverlib#include "driverlib_sym.hr.inc"#include "driverlib#include "driverlib_sym.dl.inc" 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); UARTClockSourceSet (UART0_BASE、UART_CLOCK_PIOSC); UARTFlowControlSet (UART0_BASE、 UART_FlowControl_NONE);//设置 UART 流控制-无 IntMasterEnable ();//启用处理器中断 IntEnable (INT_UART0);//启用 UART 中断 UARTStdioConfig (0、115200、16000000); while (1)//let 中断处理程序执行 UART 回显函数 { if (UARTCharsAvail (UART0) base) { y=UARTgetc(); } }