第一种方法类似这样- case 1:
- OutputEnable = 1;
- GPIO_CTRL = 1; ///ÀÒý½Å
- Prepstep = 2;
- break;
- case 2:
- delayCount++;
- if (delayCount>=50)
- {
- delayCount = 0;
- VCC_CTRL = 1; ///¹Øµç
- delayCount = 0;
- Prepstep = 3;
- }
- break;
- case 3:
- delayCount++;
- if (delayCount>=500)
- {
- delayCount = 0;
- VCC_CTRL = 0; ///Éϵç
- Prepstep = 4;
- }
- break;
把这个代码放在1ms周期里运行,那么case2就会延时50ms执行,就能达到想要的延时效果,并且不阻塞系统。不过这种方法实现起来挺累人的,要是大家有好的建议也可以提出来。
|