goto 和 同步之前 都会发送 Sr Sd 的用来设置目标位置 至于这个目标位置环是用来goto还是用来同步就看后面跟着的命令了。
定时器在他的中断中是不会停止计数的。比如8位定时器 在自动装填状态 top 是可以自定义的,那么就可以在255范围内进行随意的分频了;不过不一定都有自动装填,假设使用溢出中断 top 溢出;比如进入中断时立即把计数器的数值强制更新到一个数 比如跟新为128 ,那么就从128开始计数了 那么就进行了最大是256-128 的分频。之所以说是最大因为这是不准确的,mcu 进入中断和强制更新计数器都需要时钟周期 所以会带来实际的分频比略大的问题,所以你可以让分频吧做的稍微小一点点,进入中断后不立即进行计数器跟新,在更新前适当的插入以下 nop 指令去调整定时器误差。我的做法是在定时器你驱动一个io 输出方波,方波接频率计 这样这个方波的频率就是定时器频率的1/2,根据这个调整让他产生你要的频率,当然我是在protues 仿真调整的 我没有那些仪器。不过我是使用的类似ctc 方式的。我使用了mega16 timer1 的比较中断,定时计数器和比较寄存器内相等时就发生中断,我在每个匹配中断中更新比较器内容比如每次进行+100;这样就没有干扰定时器运行,只要改变+??? 就可以改变频率的了。定时器是16位的 定义的割word变量 不用担心溢出问题 二者是同步的。 |