zhangxl 发表于 2022-7-17 17:20 ![]() |
zhangxl 发表于 2022-7-17 11:44 ![]() |
这代码似乎不大对,main()中没有大循环,却在键扫中加入while(1)。看成不明白。 |
wei1130 发表于 2022-7-17 20:22 不! While(1)是无条件循环。没有退出的条件,如果代码中没有相应的处理,很容易死在里边的。 |
这么多while(1),你确定代码不会陷死在里边,出不来吗? |
lkc8210 发表于 2022-7-17 17:39 但是规范写法就这样 |
|
zhangxl 发表于 2022-7-17 17:20 这个可能不太对,你可已在调用Service_int()之前加上sec=9999; |
本帖最后由 zhangxl 于 2022-7-17 17:25 编辑 viod servic_init(void) { sec=9999; while(1) { 取数 } } 应该这样吧,中断时时的在减sec值。我今天遇到了相同的情况。 ![]() |
初始化时TR1=0,SEC=9999;按键后才TR1=1;就可以了 |
我是新手,别的没看明白,没看到楼主对sec赋值,不知道是不是赋值的问题?另外 LEDBuf[0]=sec/1000 LEDBuf[1]=sec%1000/100 LEDBuf[2]=sec%100/10 LEDBuf[3]=sec%100 这样取数会不会更好一点儿 新手有说错不要见怪 |
随机数倒计时 |
现在从9998或是9997开始计时.![]() |
是9998开始的,这是什么毛病.![]() |