已经成功了.
第一次是第一个代码,,,但是在2亮度那个档位,会时不时跳到0 去,有时灵,有时不灵...第二个方案是按你说的+2...试了很多次,,除了3秒内的换挡有时候会错乱...3秒后的基本不会错....为什么会错,我想不明白
- void Timer0_Isr(void) interrupt 1
- {
-
- if(time<=100)
- {
- switch(dat)
- {
- case 253: IapProgram(EEPROMId+1,2);break;
- case 2: IapProgram(EEPROMId+1,16);break;
- case 16: IapProgram(EEPROMId+1,56);break;
-
- default: IapProgram(EEPROMId+1,253);break;
- }
- }
- else
- {
-
- switch(dat)
- {
-
- case 2: IapProgram(EEPROMId+2,dat);break;
- case 16: IapProgram(EEPROMId+2,dat);break;
- case 56: IapProgram(EEPROMId+2,dat);break;
- case 253: IapProgram(EEPROMId+2,dat);break;
- default:IapProgram(EEPROMId+2,2); break;
- }
- }
-
-
-
- if(time<=200) time++;
-
- }
复制代码
|