定时器的主从模式,一般也称为定时器级联。可以理解为两个定时器可以互相联动。
1、定时器的主模式选择:MMS位。主模式选择,主定时器在达成某种条件下,发送一个信号,(信号具体形式不知)从而触发了从定时器的某种功能。主模式选择就是选择主模式要达成发生信号的某种条件。
(我刚开始以为是主定时器产生了更新事件,直接去操作从定时器的UG呢。。。。。)
主模式一共有以下几类:
0x00复位:主模式的定时器的复位信号。主模式定时器发生UG位复位操作时,会触发一个输出信号。给从定时器。从定时器如果是复位模式,那么触发从定时器的信号相对实际复位信号可能有延迟。
0x01使能:主模式的定时器的使能信号。主模式定时器发生使能操作时,会触发一个输出信号。给从定时器。
0x02更新:主模式的定时器的更新信号。主模式发生更新事件时,例如上下溢出,UG时,给从定时器一个信号。
0x03~0x07捕获及比较输出:主模式的定时器的捕获成功,或者是输出比较完成,会输出一个信号给从定时器。
2、定时器从模式位:SMS位。
从模式也有以下几类:
0x00关闭:不打开从模式。不受控。
0x01编码器模式1,只记通道1的边沿
0x02编码器模式2,只记通道2的边沿
0x03编码器模式3,1通道和2通道的边沿都记。
0x04复位:接收到信号就复位。
0x05门控:接收高电平开始计数,低电平就停止。
0x06触发:接收到信号,自动使能计数器。但没办法通过外部信号停止。
0x07外部模式1:包含上升沿、下降沿、上升沿与下降沿采集。
0x00~0x03:可以理解为不受主模式控制的时候,可选择的内部时钟,与外部模式1。
0x07:可以理解为受主模式控制的时候,内部时钟模式与外部模式1。
3、注意要点:
1)关于主从模式寄存器:MSM位:如果使用主从模式,建议打开此位,可以同步主从定时器。
2)关于从模式的CEN位:从模式选择为触发模式时,当接收到触发信号时,自动CEN。从定时器为其他模式时,则需要先打开CEN位。
3)关于主从模式的外部模式1:昨天使用F411开发板测试时,发现当定时器3作为主模式,处于外部模式1。定时器2作为从模式,处于外部模式1。两个定时器冲突。现象是定时器3可以正常接收到外部边沿并计数,但是定时器2收不到定时器3发出的触发信号。如果将定时器2从模式改成其他例如复位、触发,则可以正常使用。如果将定时器2作为主模式,定时器3为从模式,然后设置触发源,其他条件不变,也可以正常使用。
所以在使用定时器级联的时候最好先测试一下,以防万一。