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.
工具/软件: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="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 任务传递到套接字任务。
这种感谢应该面向海报"切斯特"。 他的努力-远远地说"超越和超越"。