讨论usleep函数在for循环中的问题 请高手指教
- UID
- 161918
- 性别
- 男
|
讨论usleep函数在for循环中的问题 请高手指教
晚上写了个跑马灯的小程序(led灯顺序亮起 无限循环), 如下: #include "system.h" #include "altera_avalon_pio_regs.h" int main(void) { int number = 1; int i = 0; while(1){ for(i=0;i < 8;i++) { IOWR_ALTERA_AVALON_PIO_DATA(PIO_0_BASE,number); number *= 2; usleep(500000); } number = 1; } /* while(1){ IOWR_ALTERA_AVALON_PIO_DATA(PIO_0_BASE,number); number *= 2; i++; if(i == 8){ i = 0; number = 1; } usleep(500000); }*/ return 0; } 值得注意的是程序中注释和未注释的部分 如果用注释部分的代码则可以得到完美的显示, 而用未注释部分的代码则只能循环一次~ 单步调试 发现程序没有问题 但是只能循环一遍, 然后试着把usleep函数中的参数从500000该成50000,无限循环就可以实现了 显然问题出在usleep函数上 请各位高手指点~ |
|
|
|
|
|