下面这段代码
MAX = 50;
- for(i=0; i<MAX; i++)
- {
- while(F_100ms==0); // F_100ms在定时中断100ms中置一
- F_100ms = 0;
- Clear(i-1); // 一个清除上一次设置的函数
- Set(i); // 本次设置
- }
这样做没有问题,但是最后又一次设置没有清除,
于是我这么改:
- for(i=0; i<MAX; i++)
- {
- Clear(i-1); // 一个清除上一次设置的函数
- Set(i); // 本次设置
- while(F_100ms==0); // F_100ms在定时中断100ms中置一
- F_100ms = 0;
- }
- Clear(MAX-1);
问题出来了,不知道为什么 当循环到 i==1时,就卡在 while(F_100ms==0);过不去了,我跟踪一下,定时器会响应 F_100ms已经为1了。
我在这么改:
- for(i=0; i<MAX; i++)
- {
- while(F_100ms==0); // F_100ms在定时中断100ms中置一
- F_100ms = 0;
- Clear(i-1); // 一个清除上一次设置的函数
- Set(i); // 本次设置
- }
- while(F_100ms==0); // F_100ms在定时中断100ms中置一
- F_100ms = 0;
- Clear(MAX-1);
还是有问题,程序停在了退出for循环后的 while(F_100ms==0); 同样的 定时器会响应 F_100ms已经为1了。
请问这是什么问题?
|