芯片解密提高代码的执行效率
- 芯片解密struct LED_Obj
- {
- uint8_t Status;
- uint16_t DelayTime_LED;
- void (*LED_OnOff)(uint8_t Com);
- };
- void LED1_OnOff(uint8_t Com)
- {
- if(Com != 0)
- {
- LED1(ON);
- }
- else
- {
- LED1(OFF);
- }
- }
- void LED2_OnOff(uint8_t Com)
- {
- if(Com != 0)
- {
- LED2(ON);
- }
- else
- {
- LED2(OFF);
- }
- }
- void LED3_OnOff(uint8_t Com)
- {
- if(Com != 0)
- {
- LED3(ON);
- }
- else
- {
- LED3(OFF);
- }
- }
- struct LED_Obj LED1 =
- {
- .LED_OnOff = LED1_OnOff
- };
- struct LED_Obj LED2 =
- {
- .LED_OnOff = LED2_OnOff
- };
- struct LED_Obj LED3 =
- {
- .LED_OnOff = LED3_OnOff
- };
- void DelayTimeCount_ms(uint16_t *DelayTime_Count)
- {
- if(*DelayTime_Count==0)
- {
- *DelayTime_Count=0;
- }
- else
- {
- *DelayTime_Count-=1;
- }
- }
- void Set_Delay_Time(uint16_t Time,uint16_t *DelayTime_Count)
- {
- *DelayTime_Count=Time;
- }
- uint8_t CheckDelay(uint16_t *DelayTime_Count)
- {
- if(*DelayTime_Count==0)
- {
- return 0;
- }
- else
- {
- return 1;
- }
- }
- void LED_Twinkle(struct LED_Obj *LED,uint16_t HarfPeriod)
- {
- switch(LED->Status)
- {
- case 0:
- {
- LED->LED_OnOff(ON);
- Set_Delay_Time(HarfPeriod,&LED->DelayTime_LED);
- LED->Status++;
- }break;
- case 1:
- {
- if(CheckDelay(&LED->DelayTime_LED) == 0)
- {
- LED->Status++;
- }
- }break;

芯片解密