我们会创建两个任务,并让这两个任务不断地切换,任务的主体都是让一个变量按照一定的频率翻转,通过 KEIL 的软件仿真功能,在逻辑分析仪中观察变量的波形变化,最终的波形图具体见任务轮流切换波形图。
其实,图任务轮流切换波形图 的波形图的效果,并不是真正的多任务系统中任务切换的效果图,这个效果其实可以完全由裸机代码来实现,具体见代码清单: 任务-1。
1 /* flag 必须定义成全局变量才能添加到逻辑分析仪里面观察波形
2 * 在逻辑分析仪中要设置以 bit 的模式才能看到波形,不能用默认的模拟量
3 */
4 uint32_t flag1;
5 uint32_t flag2;
6
7
8 /* 软件延时,不必纠结具体的时间 */
9 void delay( uint32_t count )
10 {
11 for (; count!=0; count--);
12 }
13
14 int main(void)
15 {
16 /* 无限循环,顺序执行 */
17 for (;;)
18 {
19 flag1 = 1;
20 delay