stm32无源蜂鸣器定时器_stm32定时器实现PWM输出控制无源蜂鸣器(HAL)

本文介绍了STM32通过定时器实现PWM输出控制无源蜂鸣器的方法。首先讲解了PWM的概念和原理,然后提供了一个STM32F103C8使用TIM3的代码示例,包括GPIO初始化、TIM3_PWM_Init函数及设置占空比的步骤,以达到调整蜂鸣器音量的目的。
摘要由CSDN通过智能技术生成

(一)PWM概念和原理

脉冲宽度调制(PWM),是英文“Pulse Width Modulation"的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。

PWM原理示意图

上图是简单的PWM原理示意图。图中,我们假定定时器工作在向上计数PWM模式,且当CNT

(二)代码示例

环境:STM32F103C8  主频64MHz   TIM3

(1)GPIO初始化

GPIO_InitStruct.Pin = GPIO_PIN_0;

GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;

GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;

GPIO_InitStruct.Pull = GPIO_PULLUP;

HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);

(2)PWM相关函数

//---------------------------main.c---------------------------------------

// PWM 输出初始化

// arr:自动重装值

static void TIM3_PWM_Init(UStoreData *pStoreData)

{

uint32_t liv_Var = Buzzer_Get_Buzzer_Volume(pStoreData->Buzzer_Volume);

if (liv_Var == BUZZER_VOLUME

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值