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/TM4C129ENCPDT:使用 UART 作为文件描述符

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/664821/rtos-tm4c129encpdt-use-uart-as-a-file-descriptor

器件型号:TM4C129ENCPDT

工具/软件:TI-RTOS

您好!

是否可以将 UART 用作文件描述符?

我通过 TCP 和 UART 获取信息、并希望使用选择。

然后我想使用 recv 并发送。

有人能否告诉我这是否可行、如果可行、如何解决?

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

    您好!

    [引用用户="Krogi1305"]

    是否可以将 UART 用作文件描述符?

    [/报价]

     很抱歉、我不理解您的问题。 也许我不理解您尝试在上下文中实现的文件描述符。 您能详细说明吗? 希望社区中的某个人有知识可以帮助您解决问题。

    [引用 user="Krogi1305"]我通过 TCP 和 UART 获取信息,并希望使用选择。

    您想使用选择意味着什么?

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

    [引用 USER="Charles Tsaaaa">您想使用选择意味着什么?类似 Unix 和符合 POSIX 标准的操作系统具有一个 I/O 系统,其中使用整数文件描述符来对不同的设备执行 I/O, 而 SELEC()系统调用可以等待多个文件描述符(I/O 流,如网络套接字或 UART),直到 I/O 流准备好读取或写入。

    我想 Krogi1305询问 Tiva 器件上的 TI-RTOS 是否支持等效功能。

      TI 网络开发者套件(NDK) v2.25 API 参考指南的“套接字和流 IO API”部分 介绍 了 BSD 套接字兼容性 API 层支持将 SELEC()用于网络套接字。

    但是、从看、UART 不支持 TI-RTOS UART 驱动程序文件描述符。

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

    [引用 USER="Chester Gillon"]但是,从看 ,UART 不支持 TI-RTOS UART 驱动程序文件描述符

    海报切斯特的报告解释得如此之多-但(以可能的方式)过早结束。    切斯特表示所需的(文件描述符)"不支持 UART。"

    显然," 此类"文件描述符"是否得到 "任何其他"的支持...  MCU 外设?

    如果(其他外设提供此类支持)、则"审查该"支持机制"-应提供对请求海报的指导和见解!    这似乎是一个关键点-不知怎么省略...

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    切斯特、您好!
    感谢您的解释。 我今天肯定会学到有关文件描述符的一些新知识。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 user="CB1_MOBILE]显然-一个明显的(和有价值的)跟随- “此类“文件描述符”是否得到 “任何其他”的支持...  MCU 外设[/quot]查看 tirtos_tivac_2_16_01_14的代码、文件描述符的唯一支持是网络套接字(用于以太网外设)和管道编程接口(用于任务间通信)。

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

    [引用 USER="Krogi1305]I 通过 TCP 和 UART 获取信息、我想使用一个选择。[/quot]从 tirtos_tivac_2_16_01_14开始、TI-RTOS UART 驱动程序不支持使用文件描述符。

    要使任务使用 select()等待来自 TCP 套接字或 UART 的数据,我认为您需要单独的任务来处理 UART。 处理 UART 的任务可以通过以下方式与 TCP 套接字上 select()中阻止的任务进行交互:

    a)使用管道与套接字任务通信,因为管道是通过文件描述符读取/写入的,因此管道的文件描述符可以由 select ()等待。

    b)从 UART 任务调用 fdSelectAbort(),以便在有要读取/写入的 UART 数据时唤醒套接字任务。 将需要有机制将数据从 UART 任务传递到套接字任务。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢切斯特-"希望确实存在"、可能存在"进一步支持"、感谢"快速/轻松"海报的雄心壮志。
    再一次-您的"深挖"证明是非凡的-海报的"雄心"(或绝望)现在将会承受很大的压力...
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的回答!!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    这种感谢应该面向海报"切斯特"。    他的努力-远远地说"超越和超越"。