- 打卡等级:偶尔看看III
- 打卡总天数:55
- 最近打卡:2026-03-03 08:35:54
已绑定手机
金牌会员
- 积分
- 1374
|
发表于 2025-12-22 13:31:25
|
显示全部楼层
先看这个结构体:
先在*.h里定义:
typedef struct
{
u8 Run; //任务状态:Run/Stop
u16 TIMCount; //定时计数器
u16 TRITime; //重载计数器
void (*TaskHook) (void); //任务函数
} TASK_COMPONENTS; // 这里TASK_COMPONENTS是我们定义的结构体的名字
static 是[color=var(--color-li-default)]局部静态变量[color=var(--color-text-default) !important]:通常定义在函数内部。与普通局部变量不同,它在函数调用- [color=var(--color-text-default) !important]结束后不会被销毁[color=var(--color-text-default) !important],其值会保持不变,直到下一次函数调用。它只在该函数
- [color=var(--color-text-default) !important]内可见。
然后在.c里调用
static TASK_COMPONENTS Task_Comps[]= //定义局部静态结构体变量Task_Comps[]
{
//状态 计数 周期 函数
{0, 300, 300, LED0_Blink}, /* task 1 Period: 300ms */
{0, 600, 600, LED1_Blink}, /* task 1 Period: 600ms */
{0, 900, 900, LED2_Blink}, /* task 1 Period: 600ms */
{0, 10, 10, KEY_Task}, /* task 1 Period: 600ms */
};
|
|