前言

我们使用STM32时,避免不了的就是底层驱动,而且底层驱动少不了,以下就是关于蜂鸣器的驱动代码


一、蜂鸣器的连接电路


如果单纯的用stm32的引脚驱动蜂鸣器,肯定驱动不开,因为蜂鸣器的要求的电流比较大,而STM32的引脚输出电流能力很弱,我们可以采用一个三极管,PNP的三极管,增大电流,从而达到驱动蜂鸣器的要求。

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。

二、代码编写

1.代码的编写规则

在我们有要求编写代码时,我们首先考虑的是要求,因为STM32的引脚有很功能,如图
我们使用某个引脚去驱动蜂鸣器,所以我们使用推挽输出,我们使用是一般分为三步:
第一步:使能时钟
第二步:引脚初始化
第三步:编写代码

接下来我们开始写相关的代码
使能时钟:因为我们使用某一个引脚是没有时钟,如果没有开启时钟,就相当于没有用:
(我的开发板蜂鸣器接到PB8引脚上)

#include "stm32f10x.h"
/******************蜂鸣器的初始化****************/
void BEEP_Init(void)
{GPIO_InitTypeDef GPIO_InitStructure;//GPIO的引脚结构体RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);//使能相对应的时钟GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;//配置GPIO的模式为推挽输出GPIO_InitStructure.GPIO_Pin=GPIO_Pin_8;              //配置GPIO的引脚GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;//配置GPIO的速度GPIO_Init(GPIOB,&GPIO_InitStructure);//初始化的GPIOB.8
}/******************延时函数****************/void Delay(u32 count){u32 i=0;for(;i<count;i++);}/******************延时函数****************/int main(void){ BEEP_Init();while(1){GPIO_SetBits(GPIOE,GPIO_Pin_5);//蜂鸣器关闭Delay(3000000);//延时GPIO_ResetBits(GPIOE,GPIO_Pin_5);//蜂鸣器打开Delay(3000000);}}

总结

蜂鸣器分为有源和无源,我们采用的是有源蜂鸣器,在我们以后使用某一引脚时,都是这三步,所以驱动一个蜂鸣器很简单。相对应的数据会在下面,或者联系作者。
链接:https://pan.baidu.com/s/1UIXznZb9n0Hsb4gO9kCA8A
提取码:w6sa

STM32标准库驱动蜂鸣器相关推荐

  1. 了解库开发,我们从STM32标准库开发学起

    摘要:从STM32新建工程.编译下载程序出发,让新手由浅入深,尽享STM32标准库开发的乐趣. 自从CubeMX等图像配置软件的出现,同学们往往点几下鼠标就解决了单片机的配置问题.对于追求开发速度的业 ...

  2. STM32 标准库+ESP8266+华为云物联网平台

    文章内容: STM32标准库通过串口发送AT指令完成与ESP8266的控制实现接入华为云物联网平台,并完成基本通信与控制,包括设备属性上报和命令下发解析与响应,并将相关代码打包成HuaweiIOT_a ...

  3. IAR新建stm32工程,完美移植stm32标准库(附源码)

    开发环境:Window 10 64bit 开发工具:IAR Embedded Workbench 硬件:stm32f103c8t6 基于IAR 开发工具,新建立STM32F1系列的最小开发例程,并加入 ...

  4. STM32标准库工程中移植TencentOS-tiny

    一.移植前的准备 1. 引言 因为项目的原因需要将原有的标准库工程升级为基于TencentOS-tiny的RTOS工程,所以花费一点时间记录移植过程,提供一份向基于STM32标准库的老工程中移植Ten ...

  5. 基于STM32标准库的MS5837程序移植

    基于STM32标准库的MS5837程序移植 一.准备工作 1. 硬件电路 2. 新建工程 二.开始移植 1. IIC底层模拟 2. MS5837移植 3. 主函数编写 4. 代码调试结果 三.源代码下 ...

  6. STM32标准库的引入视频课程-第3季第6部分-朱有鹏-专题视频课程

    STM32标准库的引入视频课程-第3季第6部分-1017人已学习 课程介绍         本课程是<朱有鹏老师单片机完全学习系列课程>第3季第6个课程,本课程详细讲解了STM32官方新标 ...

  7. STM32 HAL库 驱动 MT6701 磁编码器

    写在前面: MT6701 是 MagnTek 推出的新一代基于差分霍尔感应原理的磁性角度编码器芯片.值得一提的是 MT6701不仅提供 0~360° 的角度信号,而且还提供了一个"按压&qu ...

  8. 视频教程-STM32标准库的引入视频课程-第3季第6部分-单片机/工控

    STM32标准库的引入视频课程-第3季第6部分 互联网课程品牌<朱老师物联网大讲堂>创始人.精通U-Boot.Linux kernel移植及驱动程序开发;精通C.C++.Java.C#等语 ...

  9. STM32标准库下载教程

    STM32标准库下载教程 跳转ST标准库下载界面: https://www.st.com/zh/embedded-software/stm32-standard-peripheral-librarie ...

  10. 【STM32】STM32标准库与HAL库对照学习教程特别篇--系统时钟RCC详讲

    [STM32]STM32标准库与HAL库对照学习教程特别篇--系统时钟RCC详讲 一.前言 二.时钟是什么 三.时钟树 1.时钟树图 2.时钟树讲解 左边部分 中间部分 右边部分 特殊部分 四.初始化 ...

最新文章

  1. 在Visual C++下搭建OpenGL的开发环境
  2. 分布式查询的使用准则
  3. OpenJDK 正式宣布AWT、2D、Swing等项目解散
  4. JavaScript之match()方法讲解
  5. MVVMLight 实现指定Frame控件的导航
  6. colab清理gpu缓存_安卓手机为什么会变卡?强制GPU渲染手机就能变流畅?你真的懂吗...
  7. Mongodb-副本集
  8. web.config SetAttributes
  9. 前端- 不用React 而使用 Vue,这么做对吗?
  10. 本周ASP.NET英文技术文章推荐[07/22 - 07/28]:VS 2008、.NET 3.5、IronRuby、jQuery、ASP.NET AJAX、IIS7...
  11. 图像 - 灰度化、灰度反转、二值化
  12. Improvements of Job Scheduler and Query Execution on Flink OLAP
  13. MFC笔记2.双击改变listctrl中的值
  14. imhist()函数使用
  15. php 获取 拼音,php获取汉字拼音(一)
  16. 一步步教您搞定讯飞语音识别 | 寻找C站宝藏
  17. 2018.08.17 洛谷P3110 [USACO14DEC]驮运(最短路)
  18. 计算机无法识别佳能5d2,佳能相机连接后电脑显示无法识别
  19. 前端框架ice飞冰与java后台交互分享
  20. 【重要通知】定了!全国各地的中小商户扶持政策,都在这了!

热门文章

  1. STM32F7 I2S接口 WM8978 边播放 边录音
  2. Excel怎么区分中文英文
  3. MATLAB编程 动态数组的创建
  4. 软件测试 -- 软件缺陷记录的5C原则
  5. project哪个版本好用
  6. 腾讯笔试题——逆序对
  7. Flash入门:动画制作基础知识
  8. 电力系统分析计算机辅助试题,电力系统计算机辅助分析综合训练实验报告.doc...
  9. ‼ gifsicle pre-build test failed
  10. html如何生成条形码,前端使用JsBarcode生成条形码