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/F28M35H52C:RTOS 中如何使用 uart1到 uart4的剂量?

Guru**** 2536270 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/760284/rtos-f28m35h52c-how-dose-use-uart1-to-uart4-in-the-rtos

器件型号:F28M35H52C

工具/软件:TI-RTOS

尊敬的:

f28m35有四个 UART 器件、但在 RTOS 中、只能通过  TMD35xH52C1_initUART 配置 uart0、

RTOS 是否应该同时使用 uart1-3,如何 配置 UART 1 、uart2、UART 3?

谢谢你。

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

    您需要在"板"文件中添加/配置其他外设。 即 TMDXH52C1.c、TMDXDOCKH52C1.h 和 Board.h 我们仅提供示例中所需的配置外设。 使用 UART0作为模板来添加其他模板。

    Todd
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢~~~
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我想使用 uart0和 uart1,
    在 Board.h 中
    #define Board_UART0 TMDXH52C1_UART0
    #define Board_UART1 TMDXH52C1_UART1

    请访问 TMDXDOCKH52C1.h
    typedef 枚举 TMDXH52C1_UARTName{
    TMDXH52C1_UART0 = 0、
    TMDXH52C1_UART1 = 1、

    TMDXH52C1_UARTCOUNT
    }TMDXH52C1_UARTName;



    和线程函数中

    UART = UART_OPEN (Board_UART1、uartParams);

    if (UART == NULL){
    System_abort ("打开 UART 时出错");


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

    您需要将配置添加到 TMDXH52C1.c 中的 uartTivaHWAttrs 和 UART_CONFIG 数组中 驱动程序使用这些阵列来设置外设。

    Todd
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的回复~~~关于 uartTivaHWAttrs 的信息是什么??
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我配置像这样的 uartTivaHWAttrs,但它仍然不起作用

    const UARTTiva_HWAttrs uartTivaHWAttrs[TMDSXH52C1_UARTCOUNT]={

    baseAddr = UART0_BASE、
    .intNum = INT_UART0、
    .intPriority =(~0)、
    .FlowControl = UART_FlowControl_NONE、
    .ringBufPtr = uartTivaRingBuffer[0]、
    .ringBufSize = sizeof (uartTivaRingBuffer[0])
    }、


    baseAddr = UART1_base、
    .intNum = INT_UART1、
    .intPriority =(~0)、
    .FlowControl = UART_FlowControl_NONE、
    .ringBufPtr = uartTivaRingBuffer[1]、
    .ringBufSize = sizeof (uartTivaRingBuffer[1])


    };


    如何解决这个问题??
    const UART_Config UART_config[]={

    .fxnTablePtr =&UARTTiva_fxnTable、
    .object = uartTivaObjects[0]、
    .hwAttrs =&uartTivaHWAttrs[0]
    }、
    {NULL、NULL、NULL}
    };
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您需要像这样进入 UART_CONFIG 中的另一个条目

    const UART_Config UART_config[]={

    .fxnTablePtr =&UARTTiva_fxnTable、
    .object = uartTivaObjects[0]、
    .hwAttrs =&uartTivaHWAttrs[0]
    }、

    .fxnTablePtr =&UARTTiva_fxnTable、
    .object = uartTivaObjects[1]、
    .hwAttrs = uartTivaHWAttrs [1]
    }、
    {NULL、NULL、NULL}
    };
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    大家好,ToddMullanix,我是这样做的,但是系统会运行到 abort~~~~
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您可以压缩项目并附加它吗?

    [更新1/24:标记为 TI 认为由于无响应而解决]