C++ 多任务处理技术解析
1. C++ 异常处理
C++ 异常处理可能会提高嵌入式实时软件的可靠性。然而,根据编译器对异常处理的实现特点,它可能会使项目的代码大小增加数十千字节。因此,只有在有足够资源的情况下,才应启用和使用 C++ 异常。
2. 多任务调度器基础
多任务调度器是实现软件时间和功能分配的重要工具。其基本操作通常是在一个循环中运行,可能会无限循环,并使用调度算法来识别和调用就绪的任务。就绪状态指的是任务需要被调用的状态,调度器的就绪检查通常涉及时间,可能还包括事件或警报条件。通过这种方式,多任务调度器将软件功能分配到不同的模块和时间片上。
下面是一个简单的多任务调度器示例,用于调度三个任务 task_a() 、 task_b() 和 task_c() :
#include <array>
#include <algorithm>
void task_a() { /* ... */ }
void task_b() { /* ... */ }
void task_c() { /* ... */ }
typedef void(*function_type)();
typedef std::array<function_type, 3U> task_list_type;
const task_list_type task_list
{
{ task_a, task_b, task_c }
};
void scheduler()
{
超级会员免费看
订阅专栏 解锁全文
17万+

被折叠的 条评论
为什么被折叠?



