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.
工具与软件:
大家好、团队成员:
我们正在使用 AM2634-Q1控制卡、并已在我们的应用中启用所有六个 UART、该应用基于 UART Hello World 示例。 我们有一些关于 UART 功能的问题:
UART 中的信标处理:
在所有 UART 示例中、每个 UART 都有一个专用任务、该任务被信标阻止、并等待回调函数释放它。 然后、信标在读取或写入操作期间再次锁定。
由于这种方法需要六个单独的任务来处理六个 UART 外设、因此该方法是否会在等待期间消耗 CPU 内存或其他资源?
期待您的见解。
您好!
我们正在创建6个不同的 FreeRTOS 任务、因此它确实会消耗系统资源、如堆栈内存、FreeRTOS 内核对象(如信标和任务)、每个任务都有自己的堆栈内存、基于中断的任务切换开销等 在等待期间、当信标被阻止时、将不会有任何 CPU 使用率、但是对于创建的任务、将会有内存使用率(任务堆栈、PCB 堆栈和信标对象内存)
2.您可以尝试创建一个运行多个 UART 实例的单个任务(一个任务处理6个 UART 实例)、维护一个队列、在该队列中所有 UART 回调推送接收到的数据/事件、单个任务等待队列并按顺序处理 UART 数据/事件(取决于您的应用设计)
此致、
Shaunak