kang_master 发表于 2025-5-29 23:56:34

学习打卡《Ai8051U教学视频》第八天,定时器周期性调度任务



知识点:
从中断开始稍微有些难度了,在写代码中出一些问题,也开始要花很长时间去找问题,这点要有耐心。

周期性任务的原理

文件的创建.c .h的应用

学习视频:
https://v.stcai.com/sv/4361fc8b-193948e60a5/4361fc8b-193948e60a5.mp4


kang_master 发表于 2025-6-5 23:24:43

学习打卡《Ai8051U教学视频》第八天,复习和强化定时器中断的使用(多文件和结构体)

知识点:
一、创建文件三步:(把硬件需要的初始化做成config.h)
      1、新建文件并保存在工程目录下新建的user文件下。
      2、添加到工程。(.c文件)
      3、添加引用路径。(C251-include paths)
二、.c和.h文件的格式

      新建abc.c和abc.h文件,代表一个功能块。
   abc.h格式:
   #ifndef __ABC_H   //注意大写
   #define __ABC_H
   //此处添加调用头文件,原main文件中的所有调用函数
   //此处函数声明
   //此处放置宏定义
   #endif
   把这个头文件放在main头部


   abc.c格式:
   #include<abc.h>
      //此处函数定义
      //记得.c文件添加到程的源程序文件列表中
三、结构体数组相关:

特点:
1、都有定时器1ms加的变量
2、都有一个设定的计数目标
3、都有需要执行的功能
4、定时时间到了才能执行
所以可以用以下结构体:
typedef struct
{
        u8 Run;//任务状态:Run/Stop
        u16 TIMCount;//定时计数器
        u16 TRITime;   //重载计数器
        void (*TaskHook)(void);//任务函数
}TASK_COMPONENTS;


static TASK_COMPONENTS Task_Comps[]=
{
        //状态   计数   周期   函数
        {0,    1,    1,    执行功能},
           {0,    10,    10,执行功能},
};


结构体是用户自定义的一种数据类型,是将多个不同类型的变量组合成一个新的复合数据类型。


学习视频链接:
https://v.stcai.com/sv/4361fc8b-193948e60a5/4361fc8b-193948e60a5.mp4

自己编写测试验证成功:
这一集的内容稍多,花了点时间认真复习了!







页: 1 [2]
查看完整版本: 学习打卡《Ai8051U教学视频》第四天,USB不停电下载