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.

[参考译文] LAUNCHCC3235MOD:CC3235 FreeRTOS UART 回调模式

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1127063/launchcc3235mod-cc3235-freertos-uart-callback-mode

器件型号:LAUNCHCC3235MOD
主题中讨论的其他器件: CC3235SF

您好、TI 工程师

   现在、我测试了 LAUNCHCC3235MOD 的 CC3235 UART 功能、SDK 是 simplelink_cc32xx_sdk_6_10_00_05。

我导入 SDK 示例项目  uart2callback_CC3235SF_LAUNCHXL_FreeRTOS_CCS 和  uart2callback_CC3235SF_LAUNCHXL_tirtos_ccs。  UART 函数 在 tirtos 工程中是可以的、但 无法在 FreeRTOS 工程中恢复 UART 数据。

如果将 UART 反向模式修改为 UART2_Mode_Blocking 并修改应用程序、UART 可以反向数据。

它是否在 FreeRTOS 中不支持 UART2回调模式?

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

    您好、Lemon、

    FreeRTOS 支持回调模式。

    我刚刚在 CC3235SF 和 CC3235MOD 上测试了 FreeRTOS 演示、二者均按预期工作。 我不知道为什么它不能为你服务。 我将确保您从正确的 SDK (即6.10.00.05)导入项目 、并且您已在 CCS 中正确设置 FreeRTOS。

    此致、

    Rogelio

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

    你(们)好, Rogelio

      感谢您的回复!

       1、导入 FreeRTOS 项目正常。 FreeRTOS 版本与 REqiure(FreeRTOS-10.1.1),相同、 并添加到 CCS 中

    uart2callback FreeRTOS 项目 构建正常

    在不修改任何代码的情况下运行,UART 无法重新生成数据 和输出  

    2、将 UART 模式修改为默认,且 无需等待 SEM。UART 可以重新转换数据和输出。 如 所示的代码、红色代码被修改、并且只在项目中修改这些代码

    void * mainThread (void * arg0)

    字符输入;
    const char echoPrompt[]="回显字符:\r\n";
    UART2_Handle UART;
    UART2_Params uartParams;
    int32_t semStatus;
    uint32_t status = UART2_STATUS_SUCCESS;

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

    /*配置 LED 引脚*/
    GPIO_setConfig (CONFIG_GPIO_LED_0、GPIO_CFG_OUT_STD | GPIO_CFG_OUT_LOW);

    /*创建信标*/
    semStatus = SEM_INIT (&SEM、0、0);

    if (semStatus!= 0){
    /*创建信标时出错*/
    while (1);

    /*在回调读取模式下创建 UART */
    UART2_Params_init (uartParams);
    // uartParams.readMode = UART2_Mode_callback;
    // uartParams.readCallback = callbackFxn;
    uartParams.baudrate = 115200;

    UART = UART2_open (CONFIG_UART2_0、uartParams);

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

    /*打开用户 LED 指示初始化成功*/
    GPIO_WRITE (CONFIG_GPIO_LED_0、CONFIG_GPIO_LED_ON);

    /*对 bytesWritten 传递 NULL,因为它未在本示例中使用*/
    UART2_WRITE (UART、echoPrompt、sizeof (echoPrompt)、NULL);

    /*循环永久回显*/
    while (1){
    numBytesRead = 0;

    /*对 bytesRead 传递 NULL,因为它未在本示例中使用*/
    STATUS = UART2_READ (UART、INPUT、1、NULL);

    if (status!= UART2_STATUS_SUCCESS){
    /* UART2_READ()失败*/
    while (1);

    /*在执行读回调之前不要写入*/
    // SEM_WAIT (&SEM);

    //如果(numBytesRead >0)

    STATUS = UART2_WRITE (UART、INPUT、1、NULL);

    if (status!= UART2_STATUS_SUCCESS){
    /* UART2_write()失败*/
    while (1);



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

    您好、Lemon、

    我能不能问您是如何测试 UART 的、我个人使用的是 Putty。

    -Rogelio