尊敬的先生:
我的项目是,如果 UART5模块的 RX5引脚上接收到的字符为‘A’,LED 将亮起,如果接收到的消息为‘B’,LED 将熄灭。 对于任何其他字符、LED 将保持其当前状态。
但是、当使用此 API (MAP_UARTCharGetNonBlocking (UART0_BASE);)(返回 Int32_t 值)通过 UART 接收字符时、我会遇到问题。 如何获得字符? 我在端子中键入它 、如 A
空 UARTIntHandler (空)
{
uint32_t ui32Status;
int32_t 数据、a;
//
//获取中断状态。
//
ui32Status = MAP_UARTIntStatus (UART0_BASE、TRUE);
//
//清除已发出的中断。
//
MAP_UARTIntClear (UART0_BASE、ui32Status);
//
//在接收 FIFO 中有字符时循环。
//
while (MAP_UARTCharsAvail (UART0_BASE))
{
//
//从 UART 读取下一个字符并将其写回 UART。
//
数据= MAP_UARTCharGetNonBlocking (UART0_BASE);
if (a=data)(如果(a==data)
{
MAP_UARTCharPutNonBlocking (UART0_BASE、
数据);
MAP_GPIOPinWrite (GPIO_PORTN_BASE、GPIO_PIN_0、GPIO_PIN_0);
}
// map_UARTCharPutNonBlocking (UART0_BASE、
//数据);
//
//闪烁 LED 以显示字符传输正在发生。
//
// map_GPIOPinWrite (GPIO_PORTN_BASE、GPIO_PIN_0、GPIO_PIN_0);
//
//延迟1毫秒。 每个 SysCtlDelay 大约为3个时钟。
//
//SysCtlDelay (g_ui32SysClock /(1000 * 3));
//
//关闭 LED
//
否则为 MAP_GPIOPinWrite (GPIO_PORTN_BASE、GPIO_PIN_0、0);
}
}