|
MG32F10x Standard Peripherals Firmware Library
|
*************** (C) COPYRIGHT 2020 - 2023 megawin Technology *************** * @file TIM/TIM_PWM_Input/readme.txt * @author megawin Application Team * @version V0.1.10 * @date 05-January-2023 * @brief Description of the TIM_PWM_Input example. ****************************************************************************** * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE * TIME. AS A RESULT, MEGAWIN SHALL NOT BE HELD LIABLE FOR ANY DIRECT, * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM * THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. ******************************************************************************
本例演示如何使用TIM外围设备测量外部信号的频率和占空比。
系统时钟工作在96Mhz,通过PLL配置产生。PLL时钟源是外部8Mhz晶振。APB1的分频比是1,APB2的分频比是1。
TIMXCLK频率设置为SystemCoreClock(Hz),预分频器为0,因此TIM1计数器时钟为SystemCoreClock(Hz)。
SystemCoreClock设置为96MHz。
TIM1配置为PWM输入模式:外部信号连接至TIM1 Channel1用作输入引脚。
为了测量频率和占空比,我们使用TIM1 CC1中断请求,
因此,在TIM1_IRQHandler 程序中,计算外部信号的频率和占空比。
“Frequency”变量包含外部信号频率:
Frequency = TIM1计数器时钟 / (TIM1_CCR1 + 1),单位:Hz,
“DutyCycle”变量包含外部信号占空比:
DutyCycle = ((float)(IC2Value + 1) * 100) / (IC1Value + 1);
测量的最小频率值为92Hz。
为了使程序工作,您必须执行以下操作 :
运行此例程