解释代码void task_touch(void) { gKeyTemp = 0; gKeyTemp = (TK_Info[TK_OUT_DATA0] & 0x07); if(gKeyBak == gKeyTemp) { if(gKeyOld == gKeyTemp) { if(gKeyTemp != 0) { if(gKeyPress >= 1500 && gKeyPress<2500) { if(F_LedSwitch) { F_LedSwitch = 0; } else { F_LedSwitch = 1; } } if(gKeyPress < 2500) { gKeyPress++; } if(gKeyPress >= 2500) { gKeyPress = 2501; } } } else { gKeyOld = gKeyTemp; gKeyPress = 0; if(gKeyTemp != 0) { } else { if(F_LedSwitch) { F_CwLong = 1; if (gKeyPress = 2501) { F_CwLong = 0; if(F_LedSwitch) { F_LedSwitch = 0; } } } } } } else { gKeyBak = gKeyTemp; } } void task_led(void) { static unsigned char sChangeTime = 0; if(F_LedSwitch) { if(++sChangeTime >= 12) { sChangeTime = 0; if(F_CwLong) { if(F_Cwflag) { gDutyW = gDutyW+10; } else { gDutyW = gDutyW-10; } if(gDutyW==0||gDutyW==100) { F_Cwflag = ~F_Cwflag; } gDutyC = 100 - gDutyW; } } gDutySetC = gDutyC * gLight / 100; gDutySetW = gDutyW * gLight / 100; LED_C_DUTY(gDutySetC << 3); LED_W_DUTY(gDutySetW << 3); } else { LED_C_DUTY(0); LED_W_DUTY(0); } }
时间: 2024-03-28 16:40:47 浏览: 15
这段代码是一个嵌入式系统中的任务函数,其中包含两个任务函数: task_touch 和 task_led。
task_touch 函数的作用是读取触摸传感器输入的数据,并根据数据的变化来实现LED灯的开关和调光。具体来说,它会将触摸传感器输入的数据存储到 gKeyTemp 变量中,并通过与 gKeyBak 变量比较来判断触摸传感器是否有新的输入。如果有新的输入,它会根据 gKeyTemp 的值和 gKeyOld 的值的比较来判断是否需要进行LED灯的开关和调光。如果 gKeyTemp 的值不为0,则会根据 gKeyPress 变量的值来判断是否需要进行LED灯的调光。如果 gKeyPress 的值大于等于2500,则会将 gKeyPress 的值设为2501。如果 gKeyTemp 的值为0,则会根据 F_LedSwitch 变量的值来判断是否需要进行LED灯的开关和调光,并将 gKeyPress 的值设为0。
task_led 函数的作用是控制LED灯的亮度。具体来说,它会根据 F_LedSwitch 变量的值来判断LED灯是否需要开启。如果需要开启,则会通过计算 gDutySetC 和 gDutySetW 变量的值来控制LED灯的亮度。其中,gDutyW 和 gDutyC 变量分别代表白光和彩光的占空比,gLight 变量代表LED灯的亮度等级。在计算 gDutySetC 和 gDutySetW 变量的值时,它会将 gDutyC 和 gDutyW 变量分别乘以 gLight 变量再除以100,以得到实际的占空比。最后,它会通过调用 LED_C_DUTY 和 LED_W_DUTY 函数来控制彩光和白光的亮度。如果不需要开启LED灯,则会将彩光和白光的亮度都设为0。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)