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.

[参考译文] CC1310:CC1310 UART UART_READ 直接崩溃

Guru**** 2468610 points


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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1457529/cc1310-cc1310-uart-uart_read-crashes-directly

器件型号:CC1310

工具与软件:

// In Main 

 Init_Pins();
 NoRTOS_start();
 mainThread() ;


void mainThread(void)
{
    char        input;
    const char  echoPrompt[] = "Echoing characters:\r\n";
    UART_Handle uart;
    UART_Params uartParams;

    /* Call driver init functions */
    // GPIO_init();
    UART_init();

    /* Configure the LED pin */
   //  GPIO_setConfig(Board_GPIO_LED0, GPIO_CFG_OUT_STD | GPIO_CFG_OUT_LOW);

    /* Turn on user LED */
   //  GPIO_write(Board_GPIO_LED0, Board_GPIO_LED_ON);

    /* Create a UART with data processing off. */
    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() failed */
        while (1);
    }


    UART_write(uart, echoPrompt, sizeof(echoPrompt));

    UART_read(uart, &input, 1);

    /* Loop forever echoing */
    while (1) {
        UART_read(uart, &input, 1);
        UART_write(uart, &input, 1);
    }
}

您好!

我使用了回波示例、但它没有运行。

它通过调用 UART_READ 直接崩溃、不再返回。

写入 UART 是可以的.....

可能是 RTS/CTS 有问题?
如何禁用流控制?

如果我无法在 UART 的寄存器中看到、则启用 RTS CTS。

安德烈亚斯

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

    我测试了 uart_echo 示例、它可以正常运行。

    我还把波特率更改为9600并按照你所做的那样删除 GPIO、并且它仍然有效。

    您不会说任何关于您运行的硬件、您使用的 SDK、 Init_Pins ();函数的功能(不在原始示例中)以及您如何将电路板连接到 PC 的信息、因此我不可能说最后有什么问题

    此示例未使用自述文件中所述的任何流控制。

    Siri

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

    你好、Siri、

    我们有自己的硬件。。
    在 UART Init 之后、我可以看到。 已启用 RTS 和 CTS!!

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

    我无法重现您看到的内容。

    您使用的是哪个 SDK 版本、您对默认代码进行了哪些更改? 例如、什么是 Init_Pins ();doing? 最新的 SDK 中未提供此示例。

    我将运行最新 SDK 中的默认 uartEcho 示例、打开 UART 驱动程序后会禁用流控制:

    如果不详细说明您在哪些代码(SDK 版本)中更改了哪些内容以及为什么、我不能就可能出现的问题向您提供建议。

    Siri