本帖最后由 thinkabout4451 于 2017-1-3 13:36 编辑
电路是并行的,所以下面的没有执行,另外代码风格有问题,如下。
cnt16无法两次被赋值,除非在互斥的判断里。
就是不要写成:
if()
cnt16 <= 1;
if()
cnt16 <= 2;
需要写成:
if()
cnt16 <= 1;
else if()
cnt16 <= 2;
因为cn16就是一个硬件的寄存器,没法接两个输入,不然可能会短路,
现在编译器比较强,一般会发现这种情况,可能会自动的帮你编译成互斥的条件,但结果就会和你估计的不一样了。
|