您的位置:首页 > 游戏 > 手游 > 300个好听的公司名字大全_万网归一_计算机培训课程_微信app小程序开发

300个好听的公司名字大全_万网归一_计算机培训课程_微信app小程序开发

2025/4/22 23:26:34 来源:https://blog.csdn.net/weixin_45483813/article/details/147313205  浏览:    关键词:300个好听的公司名字大全_万网归一_计算机培训课程_微信app小程序开发
300个好听的公司名字大全_万网归一_计算机培训课程_微信app小程序开发

        本文将介绍通用定时器的概念、相关函数以及STM32CubeMX生成定时器的配置函数以及对生成定时器的配置函数进行分析(包括结构体配置、相关寄存器配置)。
        本文以TIM2/TIM5、TIM3/TIM4为基础介绍通用定时器(包含通用定时器全部功能),其余的通用定时器都是功能阉割版,可自行查阅芯片的reference manual和HAL库手册。

        最后针对于通用定时器实践:使用TIM2输出PWM控制全彩LED灯;输入捕获MCU开发学习记录8 - 基本定时器学习与实践(HAL库)的LED灯高电平持续时间;主从定时器移相控制(利用主定时器输出一路PWM同时作为触发信号,从定时器输出移相PWM波)。

0. F4系列定时器分类

  1. 最大接口时钟(Max interface clock (MHz))
    1. 定时器与系统内核(如MCU)之间的通信接口(如APB总线)支持的最高时钟频率。
    2. 它决定了定时器寄存器配置和状态读取的速度上限。例如,如果接口时钟为84 MHz,则对定时器寄存器的读写操作需基于该频率进行,不能超过此速率。
  2. 最大定时器时钟(Max timer clock (MHz))
    1. 定时器内部计数器(Counter)实际运行时的最高时钟频率。
    2. 它决定了定时器的计数速度,直接影响定时器的计时精度和输出信号的频率上限。例如,168 MHz的定时器时钟意味着计数器每秒最多递增168,000,000次。

        
        

1. 什么是通用定时器?

1.1 通用定时器概念

1.1.1 通用定时器功能说明

        STM32F4系列的通用定时器为TIM2/TIM5(32位定时器,即计数值CNT有32位)、TIM3/TIM4(16位定时器)、TIM9-TIM14(16位定时器,功能阉割版)。

  1. TIM2/TIM5、TIM3/TIM4功能相同(只有计算器位数不同):
    · 
    递增、递减和递增/递减(双向)的计数模式
    · 4个独立通道:输入捕获;输出比较;PWM 生成(边沿和中心对齐模式)、单脉冲输出
    · 多定时器主从互连以及外部信号控制定时器
    · 如下事件时生成中断/DMA 请求:
            1. 
    更新:计数器上溢/下溢、计数器初始化(通过软件或内部/外部触发)
            2. 触发事件(计数器启动、停止、初始化或通过内部/外部触发计数)
            3. 输入捕获
            4. 输出比较
    · 增量编码器与霍尔传感器支持
    · 外部时钟模式允许定时器使用外部信号作为时钟源,而不是内部的APB时钟。这有两种模式:外部引脚输入(通过定时器的 ​外部触发输入引脚(TIMx_ETR)​​ 接收外部脉冲信号。即外部脉冲直接驱动定时器的计数器递增。)和外部触发输入(来自其他外设的触发信号(如另一个定时器的 ​TRGO信号、ADC的转换完成信号等))。
  2. TIM9/TIM12:
    · 只有 递增计数模式
    · 2个独立通道:输入捕获;输出比较;PWM 生成(边沿和中心对齐模式)、单脉冲输出
    · 多定时器主从互连以及外部信号控制定时器
    · 如下事件时生成中断:
            1. 
    更新:计数器上溢/下溢、计数器初始化(通过软件或内部/外部触发)
            2. 输入捕获
            3. 输出比较
  3. TIM10、TIM11、TIM13、TIM13:
    · 只有 递增计数模式
    · 1个独立通道:输入捕获;输出比较;PWM 生成(边沿和中心对齐模式)、单脉冲输出
    · 如下事件时生成中断:
            1. 
    更新:计数器上溢/下溢、计数器初始化(通过软件或内部/外部触发)
            2. 输入捕获
            3. 输出比较

1.1.2 通用定时器框图

下图为正点原子开发指南里面的通用定时器框图,如下所示。

        

  1. 时钟来源选择:
    · 内部时钟 (CK_INT)
    · 外部时钟模式 1 :外部输入引脚 (TIx)
    · 外部时钟模式 2 :外部触发输入 (ETR) ,仅适用于 TIM2 TIM3 TIM4
    · 内部触发输入 (ITRx)(定时器主从模式) :使用一个定时器作为另一个定时器的预分频器,例如可以将定时器配置为定时器 2 的预分频器。
  2. TIM控制器:
    复位、使能、计数、TRGO(通用触发输出)定时器或DAC/ADC、编码器接口
  3. 时基单元:
    ·
    计数模式:递增、递减和递增/递减(双向/中心对齐模式)
    · 预分频器寄存器 (TIMx_PSC) - 具有影子寄存器
    · 计数器寄存器 (TIMx_CNT)
    · 自动重载寄存器 (TIMx_ARR)- 具有影子寄存器
  4. 输入捕获通道:
    配置TIMx_CCER(CCnP/CCnNP)使能TIMx_CHn输入通道,生成TInF(Timer Input n Filter)信号,通过边沿检测器生成对应边沿信号TInFPx(Timer Input n Filtered and Polarity-Processed)经过预分频器生成ICnPS(Input Capture n Prescaler)触发对应输入捕获事件。
  5. 输入捕获/输出比较通道共用部分:
    · 输入捕获部分:

      描述了输入捕获事件相关寄存器配置,以及读CCRx的计数值。
    · 输出比较部分:
      描述了输出捕获事件相关寄存器配置,以及写CCRx的计数值。
  6. 输出比较通道:
    本部分主要两个功能:一是PWM输出;二是做TRGO的触发信号。

1.2 通用定时器-时钟计数模式(三种)

TIMx_CR1.ARPE(Auto-reload preload enable) :自动重载预装载使能
TIMx_CR1.CMS(Center-aligned mode selection):中心对齐模式选择
TIMx_CR1.DIR(Direction):方向(递增、递减)
TIMx_CR1.URS((Update request source):中断或 DMA 请求的请求源选择
TIMx_CR1.UDIS(Update disable):使能/禁止 UEV 事件
TIMx_CR1.CEN(Counter enable):计数器使能

        

1.2.1 通用定时器-递增计数模式

        

1.2.2 通用定时器-递减计数模式

        

1.2.3 通用定时器-中心对齐模式(递增/递减计数)

        
            

CMS=11
        
CMS=01(counter underflow)CMS=10(counter overflow)
        

1.3 通用定时器时钟源

        

1.3.1 通用定时器时钟源1-内部时钟源 (CK_INT)

        SMS = 000(即禁止从模式控制器),CEN 位、DIR 位(TIMx_CR1 寄存器中)和UG位(TIMx_EGR 寄存器中)为实际控制位。
        

1.3.2 通用定时器时钟源2-外部时钟模式 1:外部输入引脚 (TIx)

        SMS = 111,即计数器可在选定的输入信号上出现上升沿或下降沿时计数。
        
芯片参考手册中举例:要使递增计数器在 TI2 输入出现上升沿时计数,请执行以下步骤:
        

1.3.3 通用定时器时钟源3-外部时钟模式 2:外部触发输入 (ETR)

        

        

芯片参考手册中举例:要使递增计数器在 ETR 每出现 2 个上升沿时计数,请执行以下步骤:

        
        
        

1.3.4 通用定时器时钟源4-内部触发输入 (ITRx)

        参考本文的1.6.2 定时器同步

1.3 通用定时器-输入捕获/输出比较通道

1.3.1 输入捕获通道

下图为正点原子开发指南注释的输入捕获通道图。
        

工作流程:
        外部信号->TIx引脚->TIxF信号->TIxFPx信号(边沿极性信号)->ICx(输入捕获)->ICxPS

1.3.2 共用通道- 输入捕获部分

下图为正点原子开发指南注释的共用通道- 输入捕获部分图。

        

1.3.3 共用通道- 输出比较部分

下图为正点原子开发指南注释的共用通道- 输出比较部分图。

        

1.3.4 输出比较通道

下图为正点原子开发指南注释的输出比较通道图。

        

1.4 通用定时器输入模式

1.4.1 输入捕获模式

1. 输入捕获模式说明:

        当检测到外部信号(如TI1引脚)的指定边沿(上升沿/下降沿)​时,将当前计数器值锁存到捕获寄存器(TIMx_CCRx)中。
        通过中断或DMA通知系统读取捕获值,用于计算信号频率、脉宽等参数。

2. 关键寄存器:

  • 输入通道(TI1/TI2等)​​:外部信号输入引脚。

  • 输入滤波(ICxF)​​:消除信号抖动。

  • 边沿检测(CCxP/CCxNP)​​:选择触发边沿(上升沿/下降沿)。

  • 捕获寄存器(TIMx_CCRx)​​:存储捕获时的计数器值。

  • 中断/DMA标志(CCxIF/CCxOF)​​:通知系统捕获完成。

3. 具体流程:

  1. 选择有效输入通道(映射TI1到CCR1)
    · 
    TIMx_CCMR1.​CC1S[1:0] - 01(输入模式)
    · (输入模式,即TIMx_CCMR1.​CC1S[1:0]不等于0)使TIMx_CCR1变为只读模式

  2. 配置输入滤波(消除信号抖动)​
    · TIMx_CR1.​CKD[1:0] - 设置 tDTS数字滤波器采样时钟
    · TIMx_CCMR1.​IC1F[3:0] - 设置可定义 TI1 输入的采样频率和适用于 TI1 的数字滤波器带宽。数字滤波器由事件计数器组成,每 N 个事件才视为一个有效边沿:

  3. 选择有效触发边沿​
    · 
    TIMx_CCER.CCxP - 0 上升沿、1 下降沿
    · TIMx_CCER.CCxNP - 双边沿触发

  4. 配置输入预分频器(禁止预分频)
    · TIMx_CCMR1.IC1PS[1:0] - 设置00,禁止预分频器,即每次检测到有效边沿均触发捕获。

  5. 使能捕获功能
    · 
    TIMx_CCER.CC1E - 1:允许计算器的值捕获到捕获寄存器中。

  6. 使能中断/DMA请求
    · 
    TIMx_DIER.CC1IE - 1:使能捕获完成中断
    · TIMx_DIER.CC1DE - 1:使能DMA请求(需配合DMA控制器初始化)。

4. 捕获事件处理流程:

  1. 跳变沿检测
    TI1输入信号经过滤波和边沿检测后,确认有效上升沿。

  2. 计数器值锁存
    · ​​​计数器值立即写入TIMx_CCR1寄存器。

  3. 标志位更新
    · ​​​CC1IF标志(TIMx_SR寄存器)​​ 置1,表示捕获完成。
    · ​​​若中断已使能(CC1IE=1),触发中断服务程序(ISR)。
    · ​​​若DMA已使能(CC1DE=1),触发DMA传输。

  4. 重复捕获处理
    · 
    ​​​未及时读取TIMx_CCR1或清除CC1IF标志,下次捕获时CC1OF标志(溢出标志)置1,提示数据覆盖风险。

  5. 标志位清除
    · 
    TIMx_SR.​CC1IF:软件写0 或 读取TIMx_CCR1寄存器。
    · TIMx_SR.​CC1OF:软件写0。

注:TIMx_EGR.CC1G置1,可生成IC中断和DMA请求。

1.4.2 PWM输入模式

1. PWM输入模式说明:

        一个外部引脚(TI1)即可同时捕获PWM信号的周期(Period)​和占空比(Duty Cycle)​。
        ​IC1通道​:捕获PWM信号的上升沿,记录周期值(TIMx_CCR1)。
        ​IC2通道​:捕获PWM信号的下降沿,记录占空比(TIMx_CCR2)。
        计数器复位​:每次捕获上升沿时,触发从模式控制器复位计数器(TIMx_CNT),确保周期测量准确性。

2. 具体流程:

  1. 配置IC1通道(捕获上升沿,测量周期)​
    · 
    TIMx_CCMR1.CC1S[1:0]​ - 01,将IC1映射到 ​TI1输入​(即PWM信号输入引脚)。
    · TIMx_CCER.CC1P/CC1NP - 00,选择上升沿触发。

  2. 配置IC2通道(捕获下降沿,测量占空比)​
    · 
    TIMx_CCMR1.CC2S[1:0] - 10,将IC2也映射到 ​TI1输入​(同一引脚)。
    · TIMx_CCER.CC1P/CC1NP - 10,选择上升沿触发。

  3. 配置从模式控制器(复位模式)​
    · 
    TIMx_SMCR.TS[2:0] - 101,选择触发源为 ​TI1FP1​(即IC1的滤波后信号)。
    · TIMx_SMCR.SMS[2:0] -100,使能从模式为复位模式(上升沿复位计数器)。

  4. 使能捕获功能
    · TIMx_CCER.CC1​​​​​​E/CC2E都写入 1,允许捕获到TIMx_CCR1和TIMx_CCR2。

        

1.5 通用定时器输出模式

1.5.1 强制输出模式

1. 强制输出模式说明:

        强制输出模式允许软件直接控制定时器的输出比较信号(OCxREF和OCx引脚电平),​绕过计数器与比较寄存器的比较逻辑,强制设定输出状态。强制输出时,计数器与影子寄存器的比较仍正常执行,可触发中断或DMA请求。

2. 具体流程:

  1. 配置通道为输出模式
    · TIMx_CCMRx.CCXS[1:0] - 00,选择通道为输出模式​(默认模式)。

  2. 强制设置输出电平
    · TIMx_CCMRx.OCxM[2:0] - 100:强制OCxREF为无效电平;101:强制OCxREF有效电平。

  3. 配置输出极性(CCxP位)​
    · TIMx_CCER.​CCxP - 0:高电平有效;1:低电平有效

  4. 中断/DMA触发逻辑​:
    若计数器与比较寄存器匹配,​CCxIF标志(TIMx_SR)​​ 置1,触发中断或DMA请求。

1.5.2 输出比较模式

1. 输出比较模式说明:

        输出比较模式(特别是 ​翻转模式)允许定时器在计数器(TIMx_CNT)与捕获/比较寄存器(TIMx_CCRx)匹配时,自动翻转输出引脚(OCx)的电平。

2. 关键寄存器:

  • 输出模式(OCxM)​​:定义匹配时的输出行为(如翻转、置高、置低)。
  • 输出极性(CCxP)​​:控制输出引脚是否反相。
  • 预装载寄存器(OCxPE)​​:决定是否启用影子寄存器(缓冲写入的TIMx_CCRx值)。

3. 具体流程:

  1. 选择计数器时钟(设置PSC)​:

  2. 写入TIMx_ARR和TIMx_CCRx​:

  3. 使能中断/DMA请求:
    · CCxIE位​(中断使能):置1时,匹配事件触发中断。
    · CCxDE位​(DMA使能):置1时,匹配事件触发DMA请求。​

  4. 选择输出模式(翻转模式)​​:
    · OCxM=011​:选择翻转模式(匹配时翻转输出电平)。
    · OCxPE=0​:禁用预装载寄存器(直接写入TIMx_CCRx生效)。
    · CCxP=0​:输出极性为不反相(OCxREF与OCx引脚电平一致)。
    · CCxE=1​:使能输出引脚。

  5. 启动计数器​:
    TIMx_CR1.CEN 置1,启动计数器。

        

1.5.3 PWM输出模式

1. PWM输出模式说明:

        PWM模式通过定时器的 ​自动重载寄存器(TIMx_ARR)​​ 和 ​捕获/比较寄存器(TIMx_CCRx)​​ 生成频率和占空比可调的脉冲信号。
        

2. 具体流程:

  1. 选择PWM模式(模式1或模式2)
    TIMx_CCMRx 寄存器的 ​OCxM[2:0]位​ 写入:
    · ​PWM模式1​:110(有效电平在计数器 < CCRx 时保持,否则无效)。
    · PWM模式2​:111(有效电平在计数器 > CCRx 时保持,否则无效)。

  2. 使能预装载寄存器
    · 
    使能捕获/比较预装载(TIMx_CCRx):TIMx_CCMRx.OCxPE = 1。
    · 使能自动重载预装载(TIMx_ARR):TIMx_CR1.ARPE = 1。

  3. 初始化寄存器(生成更新事件)
    · ​TIMx_EGR
    寄存器的 ​UG位​ 写入 1,手动生成更新事件。

  4. 配置输出极性
    · 
    TIMx_CCER 寄存器的 ​CCxP位​ 写入:0:高电平有效;1:低电平有效

  5. 使能输出引脚
    · TIMx_CCER 寄存器的 ​CCxE位​ 写入 1,使能OCx引脚输出。

  6. 设置自动重载值(ARR)和比较值(CCRx)
    · 
    TIMx_ARR、 TIMx_CCRx

  7. 启动计数器
    · 
    TIMx_CR1.​CEN写入 1,启动计数器。

  8. PWM信号生成逻辑
    · PWM.CMS 中心对齐模式选择
    · PWM.DIR 计算器方向(PWM.CMS[1:0] - 00

        CCIF是捕获/比较中断标志位

        

        
        

3. 注意:

        

1.6 定时器的外部触发同步

TIMx 定时器以下列模式与外部触发实现同步:复位模式、门控模式和触发模式。

1.6.1 从模式-复位模式SMS=100

        复位模式(Reset Mode)是STM32定时器的一种从模式,​通过外部信号(如TI1上升沿)复位计数器(TIMx_CNT)​,并可选生成更新事件(UEV)以刷新预装载寄存器。

  • 外部触发复位​:当检测到指定触发信号(如TI1上升沿)时,立即复位计数器(TIMx_CNT=0)。
  • 更新事件(UEV)生成​:若 TIMx_CR1.URS=0,复位时会触发UEV事件,更新预装载寄存器(TIMx_ARR和TIMx_CCRx)。
  • 中断/DMA触发​:复位事件可触发中断或DMA请求,用于同步其他操作。

        

1.6.2 从模式-门控模式SMS=101

        门控模式是一种通过 ​外部输入信号电平(如TI1)控制计数器启停​ 的定时器操作模式,适用于需要根据外部设备状态动态控制计数的场景(如启动/暂停测量、外部同步控制等)。

  • 电平触发启停​:根据外部信号(如TI1)的电平高低,控制计数器的运行(低电平启动计数,高电平停止计数)。
  • 中断触发​:计数器启动或停止时,TIF 标志(TIMx_SR 寄存器)置1,可触发中断或DMA请求。
  • 同步延迟处理​:输入信号(TI1)需经过同步电路,避免亚稳态影响计数精度。

        

1.6.3 从模式-触发模式SMS=110

  • 外部触发启动计数器​:当检测到指定输入信号(例如TI2上升沿)时,启动计数器根据内部时钟开始递增。
  • 中断标志置位​:触发事件发生时,TIF 标志(TIMx_SR 寄存器)置1,可用于中断或DMA通知。
  • 同步延迟处理​:外部输入信号(TI2)需经过同步电路,导致触发信号与实际计数器启动之间存在1-2个时钟周期的延迟。

        

1.6.4 从模式-外部时钟模式 2 +触发模式SMS=110

        外部时钟模式2(ETR作为时钟源)​​ 和 ​触发模式(TI11上升沿启动计数器)​,实现由外部触发信号控制计数器在外部时钟驱动下精准计数。

  • 外部时钟源​:ETR引脚作为计数器的时钟源(每个上升沿触发计数)。
  • 触发启动​:TI11的上升沿作为触发信号,启动计数器(CEN=1)。
  • 同步延迟处理​:ETR信号需通过同步电路,导致计数器实际递增延迟1-2个时钟周期。

        

1.7 定时器同步

​        定时器同步​ 允许通过主从模式配置,将多个定时器级联或协同工作,实现复杂的时序控制、频率扩展及多外设同步。

通用定时器内部连接表和定时器同步内部结构连接图
        
        

        

1.7.1 一个定时器用作另一个定时器的预分频器(外部时钟模式)

        TIM1配置为主定时器TIM2配置为从定时器,从而实现 ​TIM1作为TIM2的预分频器。即利用 ​TIM1的更新事件(UEV)​​ 作为 ​TIM2的外部时钟源,使TIM2的计数速率由TIM1的溢出频率控制。​

  • TIM1​:作为预分频器,通过ARR值设定触发周期。
  • TIM2​:在TIM1的每次溢出时递增,扩展整体计数范围或降低时钟频率。

配置流程:

  1. 配置TIM1为主定时器
    · 
    设置主模式(MMS=010)​:TIM1_CR2 寄存器的 ​MMS[2:0]位​ 写入 010,选择 ​更新事件(UEV)​​ 作为触发输出(TRGO)。
    · 设定TIM1的周期(ARR值)
    · 使能TIM1计数器:TIM1_CR1 寄存器的 ​CEN位​ 写入 1,启动TIM1计数。

  2. 配置TIM2为从定时器
    · 选择触发源(TS=000):TIM2_SMCR 寄存器的 ​TS[2:0]位​ 写入 000,选择 ​内部触发源0(ITR0)​,即TIM1的TRGO信号。
    · 设置外部时钟模式(SMS=111)​:TIM2_SMCR 寄存器的 ​SMS[2:0]位​ 写入 111,选择 ​外部时钟模式1
    · 使能TIM2计数器:TIM2_CR1 寄存器的 ​CEN位​ 写入 1,启动TIM2计数。

1.7.2 使一个定时器使能另一个定时器(门控模式,OC1REF为触发源)

1. 功能介绍:

通过 ​定时器1的OC1REF信号​ 作为门控信号,控制 ​定时器2的计数启停

  • OC1REF高电平​:定时器2根据分频后的时钟计数。
  • OC1REF低电平​:定时器2停止计数,保持当前值。
  • 应用场景​:测量外部信号高电平持续时间、节能模式下的间歇计数。

2. 配置流程:

1.  定时器1配置(主模式,生成OC1REF波形)​

  1. 主模式设置:TIM1_CR2.MMS[2:0]=100。将定时器1的 ​OC1REF信号​ 作为触发输出(TRGO),用于控制定时器2。

  2. 输出比较配置(PWM模式):​TIM1_CCMR1.OC1M[2:0]=110(PWM模式1)。

    TIM1_CCR1=0x80:占空比50%(高电平占128个时钟)。
    TIM1_ARR=0xFF:定义PWM周期为256个时钟。
  3. 时钟分频:​TIM1_PSC=2(3分频,实际时钟频率为 f_CK_CNT=f_CK_INT/3)。

  4. 启动定时器1:​TIM1_CR1.CEN=1

2. 定时器2配置(从模式,门控控制)​

  1. 触发源选择:TIM2_SMCR.TS[2:0]=000(选择 ​ITR0,即TIM1的TRGO信号)。

  2. 门控模式使能:TIM2_SMCR.SMS[2:0]=101。定时器2的计数器仅在OC1REF高电平时递增。

  3. 时钟分频与启动

    • 预分频器​:TIM2_PSC=2(3分频)。

    • 启动定时器2​:TIM2_CR1.CEN=1(实际计数受OC1REF电平控制)。

3. 初始化注意事项

  • 计数器未初始化​:

    • 若未复位,定时器2从当前值开始计数(示例中从0x3045开始)。

  • 强制复位方法​:

    • 写入 TIMx_EGR.UG=1,复位计数器(如启动前写入 TIM2_CNT=0)。

        

        

1.7.3 使一个定时器使能另一个定时器(门控模式,CNT_EN为触发源)

1. 功能介绍:

通过 ​定时器1的使能信号(CEN)​​ 控制 ​定时器2的启停,实现主从定时器的同步。

  • 主定时器1启动(CEN=1)​​:定时器2开始计数。
  • 主定时器1停止(CEN=0)​​:定时器2停止计数。
  • 应用场景​:多设备同步启停、精确控制计数窗口。

2. 配置流程:

        

1.7.4 使用一个定时器启动另一个定时器(触发模式)

        利用定时器1的更新事件(UEV)作为触发信号,自动启动 ​定时器2的计数器(CEN=1)​,并控制其计数周期。
        ◦ ​主模式(TIM1)​​:生成更新事件作为触发信号(TRGO)。
        ◦ ​从模式(TIM2)​​:配置为触发模式(Trigger Mode),收到触发信号后自动启动计数。
        和1.7.3相比,需要更改的是TIM2_SMCR 寄存器的 ​SMS[2:0]位​ 写入 110,选择​触发模式

        

2. 基于HAL库通用定时器实践

2.0 通用定时器寄存器与相关函数

2.0.1 通用定时器寄存器-寄存器基地址

        

2.0.2 通用定时器寄存器-寄存器

        
        

2.1 RGB LED灯(三路PWM波)

2.1.1 RGB LED灯工作原理

        LED RGB 140C05 通过PWM 信号​调节红(R)、绿(G)、蓝(B)三个通道的亮度,实现颜色混合。(使用PWM2 :CNT小于CCRx,为无效电平(设置高电平为有效电平))
        

2.1.2 CubeMX配置通用定时器外设

2.1.3 通用定时器外设初始化流程

2.1.4 RGB_LED实践代码


2.1.5 RGB_LED实践效果

2.2 输入捕获变化的高电平

2.2.1 CubeMX配置通用定时器外设

        

2.2.2 通用定时器外设初始化流程

        

        

2.2.3 输入捕获实践代码

        在正点原子输入捕获实验进行修改

2.2.4 输入捕获实践效果

        

2.3 主从定时器移相控制

2.3.1 CubeMX配置通用定时器外设(TIM3-TRGO触发TIM9)

        
        

2.3.2 通用定时器外设初始化流程

        

        
        

2.3.3 输入捕获实践代码

        

2.3.4 输入捕获实践效果

通过调整TIM3-CH1的ARR即可实现任意移相。

        

3. 本文的工程文件下载链接

工程Github下载链接:https://github.com/chipdynkid/MCU-DL-STM32
(国内)工程Gitcode下载链接https://gitcode.com/chipdynkid/MCU-DL-STM32

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com