文章目录
一.输入捕获概念
输入捕获模式可以用来测量脉冲宽度或者测量频率。
二.基于NUCLEO-G474RE开发板新建工程
2.1 打开 STM32CubeMX 软件,新建工程.
我手里有开发板所以选择基于开发板。
2.2 选择开发板(芯片)
我这里选择的是我的开发板NUCLEO-G474RE,少去一些步骤。
2.3 配置TIM1
配置TIM1产生100kHz的PWM,对应管脚PC0。
F= Tclk/[(psc+1) * (cnt+1)] = 170MHz/[1*1700] = 100kHz。
2.4 配置TIM2
参考自数据手册 PWM input mode
输入捕获的配置
2.5配置一下时钟树.
2.6生成代码.
三.编写代码
- 定义变量
/* USER CODE BEGIN PV */
uint16_t PRE1=1700;
uint16_t CMP1=500;
uint32_t capture_Buf[4] = {
0}; //存放计数
uint32_t capture_Buf1[4] = {
0}; //存放计数
uint8_t capture_Cnt = 0; //状标志位
float duty_cycle; //占空
uint32_t frequency