1、计数器信号cnt ,除了复位信号,最好有个信号能够使cnt 恢复为初始的计数值,这么做的目的是为了在系统在某种影响下导致跑飞一小段时间,导致cnt 计数到了不合理的值区间,过了这段异常影响后,回到正常工作环境,需要有个信号将cnt 恢复到初始值,重新开始工作。若没有这个信号,就不能自动恢复,需要给芯片的一个复位信号才行。
2、在没有其他特殊的情况下,计数器代码在最后可以加一个如下代码
else
cnt<=0
即在不满足之前所有分支的情况下,让cnt 赋值为0,也是为了保险起见,不然cnt 跑飞
3、在使用计数器的值做比较时,无特殊情况下,比如cnt是由0计数到100的,步长为1,使用比较条件
如,
if(cnt ==100)
cnt<=0;
上诉的这种代码的if中的语句,最好改为if(cnt>=100)
因为当某种异常环境,例如温度过高什么的,导致cnt从99跳变到了101,此时cnt 不会回到0值,导致cnt 跑飞,如果改为>=100,则在计数跳到101,也可以使cnt回到0值,重新计数。