stm32定时器同步(一)

定时器同步有多种功能,本文介绍使用一个定时器作为另一个定时器的预分频器。

所谓预分频,指定时器1输出一个时钟信号,作为定时器2的输入信号。而通过配置定时器2的时基单元,可以将定时器2作为定时器1的一个分频信号。举个例子,定时器1输出10kHZ的时钟,而定时器210分频,也就是输出1kHZ的信号,那我们就称之为**使用一个定时器作为另一个定时器的预分频器。**下面是手册中的示意图,帮助大家理解

主要过程就是定时器1主模式输出TRGO,进入定时器2的ITRx,,在选择为TRGI后选择从模式,进入时基单元,最后就可以获得一个分频后的时钟信号,流程用红笔标出

下面是一个配置代码,主频72MHZ,定时器1 10kHZ,定时器2 1kHZ

cs 复制代码
void TIM1_Configuration(void)
{
    TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE);

    // 配置定时器1 输出10kHZ
    TIM_TimeBaseStructInit(&TIM_TimeBaseStructure);
    TIM_TimeBaseStructure.TIM_Prescaler = 7;        
    TIM_TimeBaseStructure.TIM_Period = 899;         
    TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure);

    TIM_SelectOutputTrigger(TIM1, TIM_TRGOSource_Update);
    TIM_Cmd(TIM1, ENABLE);

}

void TIM2_Configuration(void)
{
    TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
    RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);

    // 配置定时器2 输出1kHZ
    TIM_TimeBaseStructInit(&TIM_TimeBaseStructure);
    TIM_TimeBaseStructure.TIM_Prescaler = 0;          // 不使用预分频
    TIM_TimeBaseStructure.TIM_Period = 9;            
    TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);

    // 配置TIM2为从模式,使用外部时钟模式1,使用ITR0作为触发源
    TIM_SelectInputTrigger(TIM2, TIM_TS_ITR0);      
    TIM_SelectSlaveMode(TIM2, TIM_SlaveMode_External1); 
    TIM_ITRxExternalClockConfig(TIM2, TIM_TS_ITR0);

    TIM_Cmd(TIM2, ENABLE);
}
相关推荐
摘星台18 小时前
linux环境对stm32单片机进行程序烧录
linux·stm32·单片机
Joseph Cooper19 小时前
STM32MP157 Linux驱动学习笔记(三):系统级驱动框架(UART/PCIe)
linux·stm32·学习
森G19 小时前
STM32F103C8T6工程---标准库版usart2写回显
stm32·单片机
EVERSPIN19 小时前
基于MCU CH32X035 Type-C PD显示器方案
单片机·mcu·计算机外设
Joseph Cooper20 小时前
STM32MP157 Linux驱动学习笔记(一):驱动基础与设备模型入门(同步互斥/LCD/I2C/Input)
linux·stm32·学习
Joseph Cooper20 小时前
STM32MP157 Linux驱动学习笔记(二):硬件资源地基(Pinctrl/GPIO/Interrupt)
linux·stm32·学习
Z文的博客20 小时前
FLASHDB实战详解 - 嵌入式KV/TSD数据库开发全攻略
stm32·单片机·嵌入式·flash·flashdb·w25q256
SUNNYSPY00121 小时前
120R016-ASEMI解锁电力电子的效率革命
单片机
芯希望21 小时前
芯伯乐XOPA340/XOPA2340/XOPA4340系列11MHz低噪声CMOS运放,高性能与低功耗的理想平衡
单片机·嵌入式硬件·dc-dc·工业控制·国产替代·电源管理·xblw芯伯乐
LCMICRO-1331084774621 小时前
长芯微LCMDC8588完全P2P替代ADS8588,是一款16位、8通道同步采样的逐次逼近型(SAR)模数转换器
stm32·单片机·嵌入式硬件·fpga开发·硬件工程·模数转换器