第八集 定时器周期性调度任务
1、周期性任务介绍 任务1:用一个定时器实现这个任务。LED1实现0.3秒取反一次,LED2实现0.6秒取反一次,LED3 实现0.9秒取反一次。 很明显这就是一个周期性任务,可以通过一个变量计数,假设这个变量1ms自加一次,加到300即为300ms,加到600就是600ms;计数到达后重新清0。 在这个知识点老师讲述了数组的概念,数组在单片机应用的比较多。数组必须先定义、后使用。最常用的一维数组。 一维数组定义格式如下: 类型说明符 数组名 [常量表达式] ;
类型说明符是指数组中的各个数组元素的数据类型; 数组名是用户定义的数组标识符; 方括号中的常量表达式表示数组元素的个数,也称为数组的长度。
定义数组时,应注意以下几点: (1) 数组的类型实际上是指数组元素的取值类型。对于同一个数组,所有元素的数据类型都是相同的。 (2) 数组名的书写规则应符合标识符的书写规定。 (3) 数组名不能与其他变量名相同。 (4) 方括号中常量表达式表示数组元素的个数,如a[5]表示数组 a 有 5个元素。数组元素的下标从0开始计算,5个元素分别为 a[0]、a[1]、a[2]、a[3]、a[4]。 (5) 方括号中的常量表达式不可以是变量,但可以是符号常数或常量表达式。 (6) 允许在同一个类型说明中,说明多个数组和多个变量。
数组元素: 数组元素也是一种变量,其标志方法为数组名后跟一个下标。下标表示该数组元素在数组中的顺序号,只能为整型常量或整型表达式。在程序中不能一次引用整个数组,只能逐个使用数组元素。
数组赋值: 给数组赋值的方法有赋值语句和初始化赋值两种: 在程序执行过程中,可以用赋值语句对数组元素逐个赋值,例如: for(i=0;i<10;i++) num=i; 数组初始化赋值是指在数组定义时给数组元素赋予初值,这种赋值方法是在编译阶段进行的,可以减少程序运行时间,提高程序执行效率。初始化赋值的一般形式为: 类型说明符 数组名[常量表达式 = (值,值,...,值);
2、文件的创建(.c和.h) 创建程序文件三步,把硬件需要的初始化弄一个config.c ① 新建文件并保存 ② 添加到工程 ③ 添加引用路径 一般一个.c和一个.h文件执行一个外设或者一个任务或功能。这样可以让代码看起来简洁明了。
3、结构体的介绍 结构体数组的周期性任务调度 结合任务:“LED1 0.3秒闪一次,LED2 0.6秒闪一次,LED3 0.9秒闪一次”,来了解结构体数组的周期性任务。 具体代码如下: 在工程项目中要创建.C\.H文件,需要在头文件中添加引用路径。
通过这一章节的学习,基本了解了周期性任务以及数组的知识;结构体数组的周期性任务以及文件的创建。 这节课讲的知识比较多,还需要慢慢消化吸收。
|