STM32小项目总结4:TIM输入捕获测频率+占空比

简介: STM32小项目总结4:TIM输入捕获测频率+占空比

TIM输入捕获


1.输入捕获模式测频率:


捕获事件:首先设置为上升沿捕获,每来一个上升沿,CNT转运CCR一次,且CNT的值是两个上升沿之间的间隔,即CNT=周期,所以用来计时,也就是T。CCR的捕获的值是计数值N。


通道选择时,第一个通道选择上升沿触发,用于捕获周期。第二个通道选择下降沿触发,用于捕获占空比。


推荐封装函数为IC_Init();


思路:


1.开启RCC的TIM3的GPIOA时钟+2.选择内部时钟TIM_IntertnalClockConfig(); 初始化时基单元TIM_TimeBaseInit();+3.GPIO初始化GPIO_Init();+4.输入捕获单元TIM_ICInit();+5.设置TRGI为TI1FP1.+6.配置从模式为ReSet+7.开Tim_Cmd();+8.自定义频率函数,推荐为uint8_t IC_GetFreq


2.输入捕获模式测频率和占空比:


思路与输入捕获模式测频率基本相同,只是需要单独测占空比,因此,需要测占空比的自定义函数。推荐自定义函数为uint16_t IC_GetDuty();


注意:频率和占空比之间存在转换关系,如下:Tim_GetCapture2(Tim3)+1*100/(Tim_GetCapture(Tim3)+1).


3.输入捕获模式Tim的库函数补充:


Tim_IcStructInit();给输入捕获模式结构体幅初值


Tim_InputTrigger();选择输入触发


Tim_OutputTrigger();选择输出触发


Tim_SelectSlaveMode();选从模式


Tim_GetCapture1();输出比较,CCR只读


Tim_SetCapture1();输出比较,CCR只写


相关文章
|
7月前
|
传感器
基于STM32与FreeRTOS的四轴机械臂项目-3
基于STM32与FreeRTOS的四轴机械臂项目
基于STM32与FreeRTOS的四轴机械臂项目-3
|
7月前
|
传感器
基于STM32与FreeRTOS的四轴机械臂项目-2
基于STM32与FreeRTOS的四轴机械臂项目
基于STM32与FreeRTOS的四轴机械臂项目-2
|
6月前
|
传感器 数据采集 人工智能
【STM32+k210项目】基于AI技术智能语音台灯的设计(完整工程资料源码)
【STM32+k210项目】基于AI技术智能语音台灯的设计(完整工程资料源码)
287 1
|
7月前
|
传感器 存储
基于STM32与FreeRTOS的四轴机械臂项目-1
基于STM32与FreeRTOS的四轴机械臂项目
基于STM32与FreeRTOS的四轴机械臂项目-1
|
6月前
|
存储 算法 测试技术
【STM32项目】基于Stm32c8t6-镭射激光打印机的设计(完整工程资料源码)(二)
【STM32项目】基于Stm32c8t6-镭射激光打印机的设计(完整工程资料源码)(二)
196 0
|
6月前
|
存储 搜索推荐 安全
【STM32项目】基于Stm32c8t6-镭射激光打印机的设计(完整工程资料源码)(一)
【STM32项目】基于Stm32c8t6-镭射激光打印机的设计(完整工程资料源码)(一)
159 0
|
7月前
|
缓存 网络协议 算法
[蓝桥杯嵌入式]hal库 stm32 PWM的使用(随时修改占空比,随时修改频率)
[蓝桥杯嵌入式]hal库 stm32 PWM的使用(随时修改占空比,随时修改频率)
|
运维 小程序 API
STM32实战项目—WIFI远程开关灯
本文介绍了如何利用正点原子ESP8266和STM32F103C8T6连接腾讯云,利用舵机实现远程开关灯。给出了详细的腾讯云配置和调试步骤,给出了部分程序设计。
326 0
STM32实战项目—WIFI远程开关灯
|
7月前
|
存储 编解码 算法
基于STM32的开源简易示波器项目
基于STM32的开源简易示波器项目
168 0
|
6月前
使用STM32F103标准库实现定时器控制LED点亮和关闭
通过这篇博客,我们学习了如何使用STM32F103标准库,通过定时器来控制LED的点亮和关闭。我们配置了定时器中断,并在中断处理函数中实现了LED状态的切换。这是一个基础且实用的例子,适合初学者了解STM32定时器和中断的使用。 希望这篇博客对你有所帮助。如果有任何问题或建议,欢迎在评论区留言。
472 2