引用 12 楼 great_bug 的回复:
引用 7 楼 xmjmengmeng 的回复:
引用 5 楼 sdftdrt 的回复:
? if(flg==0)
? ? ? { puls_1=TH1*256+TL1;
? ? ? ;
? ? ? IE1=0;}
? else if(flg==1)
? ? ? {puls_2=TH1*256+TL1;
? ? ? //TR1=0;//停止计数
? ? ? //ET1=0;//关定时器一
这里已经有问题
这里有什么问题呢?
我是想在第一个下降沿来后,将flg=1,第二个下降沿来后,将flg=0
表达式的计算,是不管等号左边的.你右边的都是8-BIT,所以计算结果只有8-BIT,可能不是你想要的
其实十进制的256已经不是8位数了。所以,如果等号右边的表达式乘积小于unsigned int能表示的范围,结果就是正确的。