从模式控制器

从模式控制器可以作为从机被控制(控制定时器的启、停、复位、增、减)
也可以作为主机控制别人(比如另一个定时器、ADC、DAC等)
两种模式可以同时使用。
从模式控制器的工作模式
| 作为从机(被控制) | 作为主机(控制别人) |
|---|---|
| Slave Mode Disable 从模式禁止 | Reset 复位 |
| Encoder Mode 1 编码器模式1 | Enable 使能 |
| Encoder Mode 2 编码器模式2 | Update 更新 |
| Encoder Mode 3 编码器模式3 | Compare Pulse 输出比较脉冲 |
| Reset Mode 复位模式 | Compare OC1Ref 输出比较参考信号1 |
| Gated Mode 门模式 | Compare OC2Ref 输出比较参考信号2 |
| Trigger Mode 触发模式 | Compare OC3Ref 输出比较参考信号3 |
| External Clock Mode 1 外部时钟模式1 | Compare OC4Ref 输出比较参考信号4 |
1、从模式禁止
不使用从机功能
2、复位模式
使用TRGI的上升沿来复位CNT,同时产生Update事件
3、门模式
使用TRGI控制时基单元的开关
4、触发模式
使用TRGI上升沿来启动定时器
5、外部时钟模式1
把TRGI作为定时器的时钟
6、使能
通过TRGO把时基单元的开关状态输出出去
7、更新
每产生一个Update时基就向TRGO输出一个脉冲
8、编码器模式
模式1:在A相的边沿计数(Counting On TI1 Edge)
模式2:在B相的边沿计数(Counting On TI2 Edge)
模式3:双边沿计数(Counting On Both Edge)
常用函数
HAL_StatusTypeDef HAL_TIM_Encoder_Start(TIM_HandleTypeDef *htim, uint32_t Channel)
作用:启动编码器
HAL_StatusTypeDef HAL_TIM_Encoder_Stop(TIM_HandleTypeDef *htim, uint32_t Channel)
作用:停止编码器
示例:占空比测量
1 | HAL_TIM_PWM_Start(&htim3, TIM_CHANNEL_1);//TIM3发送PWM |
编码器实验
1 | /* USER CODE BEGIN 2 */ |