- 打卡等级:偶尔看看I
- 打卡总天数:14
- 最近打卡:2025-03-14 23:43:31
已绑定手机
注册会员
- 积分
- 95
|
发表于 2024-12-13 19:36:13
|
显示全部楼层
学习了AI8051U课程的第八节,用计数器实现多个LED灯的闪烁。
可以用多文件编程方式来进行编程,一个.c文件和一个.h文件执行一个模块功能或者一个任务,这样可以让代码看起来更简洁,修改代码也方便。
.h文件格式:
#ifndef _XXX_H
#define _XXX_H
..........
#endif
.c文件格式:
#include "XXX.h"
...........
!!!!一定要在keil里把头文件路径添加到工程里,否则会找不到头文件,报错!!!!
!!!!.c文件要记得添加去工程里!!!!
LED1 0.3秒闪一次,LED2 0.6秒闪一次,LED3 0.9秒闪一次
要实现这个功能,可以提取出它的一些共同的特征,就可以用结构体去统一写,就可以很方便的定义三个LED灯的一些变量,减少代码的重复。
关键代码:
typedef struct
{
unsigned char Run; //任务状态:run/stop
unsigned int TIMCount; //定时计数器
unsigned int TRITime; //重载计数器
void(*TaskHook)(void); //任务函数
}TASK_COMPONENTS;
定义变量的时候就能写:TASK_COMPONENTS 变量名1,变量名2,...; |
|