请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:CC3200MOD 工具/软件:TI-RTOS
我有一个应用、在该应用中我从一组传感器读取数据。 其中一个在 UART 上发布了一个我想读取的字符串。 我在应用程序中使用 UARTUtils、因此使用 scanf 进行读取。 我为此创建了一个单独的任务、因此它不会阻止另一个任务(读取其他传感器并每分钟发布一次数据)。
遗憾的是、扫描程序看起来可能会阻止/阻止另一个线程(处于更高优先级)。 我在 scanf 任务中添加了 Task_sleep、这确实有助于改善总体情况、但只能通过更改计时。 在某些情况下、scanf 仍在等待 UART 输入(每分钟只发生一次)、这可能导致另一个线程饥饿。
在我的情况下、在 SysCallback 函数中使用 UART_writePolling 可能是问题的原因。
我想知道、在这种情况下、我可以使用哪些替代方法来提高行为的稳健性。
谢谢、
Sridhar
PS -我可能会为此目的使用 UART1、但我已经在使用这些引脚进行 I2C 通信。