首页 > 其他分享 >STM32f103c8t6中PWM的配置

STM32f103c8t6中PWM的配置

时间:2024-10-10 19:22:11浏览次数:13  
标签:HAL 函数 配置 TIM 参数 STM32f103c8t6 占空比 PWM

1、PWM简介

        PWM波形(Pulse Width Modulation,脉冲宽度调制波形)是一种占空比可变的脉冲波形。这种调制方式 通过改变脉冲的宽度来控制电路中的信号强度和频率。具体来说,PWM波形中的高电平持续时间和低电平持 续时间可以根据需要进行调整,从而实现对模拟信号电平的数字编码。

2、重要的三个参数:

频率 =1/Ts

分辨率 = 占空比变化步距

占空比 = Ton/Ts

3、输出模式

PWM有两种输出模式:

     1、PWM1:

    

    2、PWM2:

    

4、PWM的配置步骤

(1)时基工作参数配置

        使用HAL_TIM_PWM_Init();这个函数需要一个结构体变量,这个结构体变量在其他函数中也会使用到,所以我们需要定义一个全局的变量。

         主要初始化的成员变量有Instance、Init(Prescaler、Period、CounterMode、AutoReloadPreload)

(2)msp初始化

使用HAL_TIM_PWM_MspInit();

使用步骤:

1、判断是否是相对应的定时器

2、初始化中断

        HAL_NVIC_SetPriority();
        HAL_NVIC_EnableIRQ();

3、初始化需要输出的GPIO口

        Note:第2步和第3步都是在HAL_TIM_PWM_MspInit();这个函数里面的。


    

(3)PWM模式,CCR寄存器设置

        使用HAL_TIM_PWM_ConfigChannel();其中第二个参数需要重新定义一个结构体,第三个参数需要参考芯片手册去找所需要用到的定时器其对应的通道。

        Note:这一步的函数直接卸载时基工作参数配置里面。

(4)使能输出,启动计数器

        使用HAL_TIM_PWM_Start();

        Note:同样写在时基工作参数配置里面。

(5)修改CCR寄存器值

需要单独写一个函数,注意需要传入参数,函数里面写__HAL_TIM_SET_COMPARE();这个函数即可。

5、调用

        PWM的输出其本质就是一个方波的输出,想要使用它就需要用到for循环,不断地改变波形,也就是占空比,所以想要使用PWM就使用for循环不断的调用修改CCR寄存器值的函数,就可以达到自己想要的目的。

标签:HAL,函数,配置,TIM,参数,STM32f103c8t6,占空比,PWM
From: https://blog.csdn.net/ljhlovezyx/article/details/142784230

相关文章

  • 阿里云CLI配置
    阿里云CLI(AlibabaCloudCommandLineInterface)是基于OpenAPI建立的通用命令行工具,您可以借助阿里云CLI实现与阿里云产品的交互,在Shell工具中管理您的阿里云产品。安装下载安装包:https://aliyuncli.alicdn.com/aliyun-cli-linux-latest-amd64.tgz解压后直接cp到/usr/bin目......
  • 【华为】默认路由配置
    1.配置接入层:LSW1(LSW3同理):vlanbatch1020ing0/0/1portlink-typeacportdefaultvlan10ing0/0/2portlink-typeacportdefaultvlan20ing0/0/24portlink-typetrporttrallow-passvlan10202.配置汇聚层,设置网关,实现不同vlan之间的通信:LSW2(LSW4同......
  • debian12 最小化安装以后配置kvm
    今年是centos停止更新的日子,陪伴了多年,熟悉的操作环境很人很纠结换系统,特别是到了我这个年龄阶段,重新再学习简直比要人命还难受。安装完系统之后,第一个就是配置ssh允许root用户登录,这个根据自己需求,我们的环境必须用root,加上堡垒机,也算安全。(在安全和便利之间折中) 1、安装kvm......
  • K8S配置MySQL主从自动水平扩展
    前提环境操作系统Ubuntu22.04K8S1.28.2集群(1个master+2个node)MySQL5.7.44部署在K8S的主从集群metrics-serverv0.6.4概念简介在K8s中扩缩容分为两种●Node层面:对K8s物理节点扩容和缩容,根据业务规模实现物理节点自动扩缩容●Pod层面:一般会使用Deployment中的Re......