This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] RTOS/MSP432-RTOS:uartecho 示例使用 MSP432 Launchpad、UART_WRITE 在输出字符后挂起

Guru**** 2034120 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/583934/rtos-msp432-rtos-uartecho-example-with-msp432-launchpad-uart_write-hangs-after-outputting-character

器件型号:MSP432-RTOS

工具/软件:TI-RTOS

我是第一次使用 TI-RTOS uartecho 示例、MSP432 Launchpad 和 CCS、并尝试使 uartecho 示例正常工作。  

我的问题是、UART_WRITE 在被调用后似乎挂起。  它输出第一个字符、然后从不在程序中继续。  例如、它应该首先输出"回显字符"、但绝不会超过第一个"E"。  我有一条线路在写入命令之后点亮 LED。  它从不会打开、因此 UART_WRITE 卡在某个位置。  

如果我注释掉  UART_WRITE (UART、echoPrompt、sizeof (echoPrompt));行、那么我可以恰好回显一个字符。  因此 UART_READ 正常工作、但 UART_WRITE 肯定会挂起。  

我已使用示波器确认我的通信线路正常工作。  UART 仅发送一个字符、然后卡在。  在下面的代码中、LED1永远不会打开。   

我的代码没有从资源浏览器中的示例中进行太多修改。  

有什么建议吗?  

#include 
#include 
#include 

/*驱动程序头文件*/
#include 
#include 

/*示例/板头文件*/
#include "Board.h"

/*
=== mainThread ====
//
void * mainThread (void * arg0)
{
特性 输入;
const char echoPrompt[]="回显字符:\r\n";
UART_Handle UART;
UART_Params uartParams;

/*调用驱动程序初始化函数*/
GPIO_init();
UART_INIT();

/*打开用户 LED *//
GPIO_write (Board_GPIO_LED0、Board_GPIO_LED_ON);
//GPIO_WRITE (Board_GPIO_LED1、Board_GPIO_LED_ON);

/*创建一个数据处理关闭的 UART。 *
UART_PARAMS_INIT (uartParams);
uartParams.writeDataMode = UART_DATA_BINARY;
uartParams.readDataMode = UART_DATA_BINARY;
uartParams.readReturnMode = UART_return_full;
uartParams.readEcho = UART_ECHO_OFF;
uartParams.baudrate = 9600;

UART = UART_OPEN (Board_UART0、uartParams);

if (UART == NULL){
/* UART_open()失败*/
while (1);
}

// UART_WRITE (UART、hello、5);

UART_WRITE (UART、echoPrompt、sizeof (echoPrompt));

//GPIO_WRITE (Board_GPIO_LED0、Board_GPIO_LED_ON);




/*循环永久回显*/
while (1){
UART_READ (UART、INPUT、1);

GPIO_WRITE (Board_GPIO_LED0、Board_GPIO_LED_ON);


UART_WRITE (UART、INPUT、1);


GPIO_WRITE (Board_GPIO_LED1、Board_GPIO_LED_ON);

}
} 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、mzwd、
    您使用的是 TI-RTOS 的哪个版本?
    谢谢、
    Janet
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Janet、您好!

    我通过 CCS 下载了 TI-RTOS 并选择了"最新"版本。 不确定具体是哪一个。

    我尝试了 UART_PC_ECHO_12MHz_brclk no RTOS 示例、该示例回波效果完美。 TI RTOS 有一些功能。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、mzwd、

    您是否使用 Resource Explorer 导入了 uartecho 项目?  您可以查看项目属性以查看正在使用的 TI-RTOS 版本。  查看"General"设置下的"RTSC"选项卡。  例如、您可能会看到如下所示的内容:

    此致、

    Janet

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Janet、您好!

    我使用 Resource Explorer 导入了。  相关项目使用 SimpleLink MSP432 SDK v:1.30.00.40。  

    此后、我试用了适用于 MSP432 v:2.20.00.06 UART 回显示例的 TI-RTOS、该示例工作得非常完美。