高级会员

- 积分
- 683
- 金钱
- 683
- 注册时间
- 2017-11-23
- 在线时间
- 133 小时
|
各位大神,项目中总会碰到需要延时的地方,配置定时器,调用,复位,总之使用很不方便,使用1个定时器,需要弄一大堆东西,突发奇想,不用定时器,用计数器,数数很简单啊,
说干就干,
第一步 先弄一个整个项目都公用的基准脉冲,调整到100ms中断1次,并且这个脉冲映射到其他一个位。
第二步 定义好多开关(就是需要用到定时器的某个需求时候的命令),
定义相应数量的计数器地址(用来存放需要计数的脉冲的数量),
定义相应数量的计数器设定地址(用来存放设定的脉冲计数值),
第三步 计算需要延时的脉冲的个数。
脉冲时基x脉冲个数=总时间,也就是需要延时的总时间
第四步 在程序里需要延时的地方,打开某个开关即可。
开关一打开,就是对应着开始数脉冲的个数了,同时点亮一个LED灯。
等脉冲个数达到了设定的个数,(就是定时时间到了)。即可发出动作指令,像关闭LED灯,触发下一个动作等等。
整个程序只需要1个基准脉冲,其他所用的定时需求,全部都转化为累计脉冲个数的计数行为。理论上,只需1个脉冲源,可以使用无数多个计数器,
本人测试了3个延时需求,很是不错。特此分享给大家!部分程序如下:
|
|