Other Parts Discussed in Thread: CC3200
Thread 中讨论的其他器件:CC3200
我有一个 CC3200MOD-Launchpad 可供使用。 我正在尝试在中断模式(仅接收中断)下实现 UARTA0。 为了简单起见、我只回显在终端上发送的字符。 但是、中断显示出一种突然的行为、例如、在我逐个发送5个字符并将我发送的第一个字符打印为回显并重复同样的操作之后、中断会发生。 我将随附以下代码:
#define application_version "1.1.1"
#define APP_NAME "UART 回波
"#define 屏幕 UARTA0_BASE
#define UartGetChar() MAP_UARTCharGet (screen)
#define UartPutChar (c) MAP_UARTCharPut (screen、c)
#define MAX_STRING_LENGTH 80
unsigned long intrpt=0;
静态空 SCREEN_IRQ_handler ()
{
unsigned char charc;
inpt=UARTIntStatus (screen、true);
if (inpt&UART_INT_RX))
}{
MAP_UARTIntClear (screen、UART_INT_RX);
charc=map_UARTCharGetNonBlocking (screen);
MAP_UARTCharPutNonBlocking (screen、charc);
}
}void main ()
{
//
//对电路板进行初始化
//
BoardInit();
//
//启用 UART_TX 和 UART_RX 的多路复用。
//
PinMuxConfig();
//
//初始化终端。
//
MAP_UARTDisable (UARTA0_BASE);
MAP_UARTConfigSetExpClk (UARTA0_BASE、MAP_PRCMPeripheralClockGet (SCREEN_PERIPh)、UART_BAUD_RATE (UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE |
UART_CONFIG_PAR_NONE));
MAP_UARTFlowControlSet (UARTA0_BASE、UART_FlowControl_NONE);
MAP_UARTFIFODisable (UARTA0_BASE);
MAP_UARTIntRegister (screen、screen_IRQ_handler);
MAP_UARTEnable (UARTA0_BASE);
MAP_UARTIntEnable (UARTA0_BASE、UART_INT_RX);
//
//清除终端。
//
ClearTerm();
DisplayBanner (app_name);
消息("\t\t******** \n\n");
消息("\t\t\t CC3200 UART 回波用法 \n\n");
消息("\t\t\t 键入字母数字字符串和\n");
message("\t\t pressenter,字符串将被回传。 \n\n");
Message ("\t\t\t 注意:如果字符串长度达到80个字符、它将\n");
消息("\t\t\t 回显字符串而不等待输入命令\n");
信息("\t\t" \n\n");
消息("\n\n\r\n");
消息("cmd#");
while (1)
{
}
}
看看、让我知道问题在哪里。
谢谢、
Shivam
