STM32学习(蜂鸣器实验)

2023-05-16

 

蜂鸣器硬件电路连接

蜂鸣器软件设计-库函数

使能输入输出口时钟。调用函数RCC_AHB1PeriphClockCmd();

初始化输入输出口模式。调用函数GPIO_Init();

操作输入输出口,输出高低电平。

beep.h

#ifdef  __BEEP_H
#define __BEEP_H
#include "sys.h"

#define BEEP PFout(8)    //蜂鸣器控制IO

void BEEP_Init(void);    //初始化
#endif

beep.c

#include "beep.h"

void BEEP_Init(void)
{
    GPIO_InitTypeDef GPIO_InitStructure;
    RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF,ENABLE);  //使能GPIOF时钟
    //初始化蜂鸣器对应引脚GPIOF8
    GPIO_InitStructure.GPIO_Pin=GPIO_Pin_8;
    GPIO_InitStructure.GPIO_Mode=GPIO_Mode_OUT;        //普通输出模式
    GPIO_InitStructure.GPIO_OType=GPIO_OType_PP;        //推挽输出
    GPIO_InitStructure.GPIO_Speed=GPIO_Speed_100MHz;    //100MHz
    GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_DOWN;        //下拉
    GPIO_Init(GPIOF,&GPIO_InitStructure);                 //初始化GPIO
    GPIO_ResetBits(GPIOF,GPIO_Pin_8);                   //蜂鸣器对应引脚GPIOF8拉低
}

main.c

#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "led.h"
#include "beep.h"

int main(void)
{
    dealy_init(168);      //初始化延时函数
    LED_Init();           //初始化LED端口
    BEEP_Init();          //初始化蜂鸣器端口
    while(1)
    {
        GPIO_ResetBits(GPIOF,GPIO_Pin_9);   //DS0拉低,亮  等同LED0=0;
        GPIO_ResetBits(GPIOF,GPIO_Pin_8);   //BEEP引脚拉低,等同BEEP=0;
        delay_ms(300);                      //延时300ms;
        GPIO_SetBits(GPIOF,GPIO_Pin_9);     //DS0拉高,灭  等同LED0=1;
        GPIO_SetBits(GPIOF,GPIO_Pin_8);     //BEEP引脚拉高,等同BEEP=1;
        delay_ms(300);                      //延时300ms;
    }
}

  蜂鸣器实验-寄存器

beep.h

#ifndef  __BEEP_H
#define  __BEEP_H
#incldue "sys.h"
#define BEEP PFout(8)  //蜂鸣器控制IO
void BEEP——Init(void); //初始化
#endif

beep.c

#include "beep.h"

//初始化PF8为输出口
//BEEP IO初始化
void BEEP_Init(void)
{
    RCC->AHB1ENR|=1<<5;   //使能PORTF时钟
    GPIO_Set(GPIOF,PIN8,GPIO_MODE_OUT,GPIO_OTYPE_PP,GPIO_SPEED_100M,GPIO_PUPD_PD); //PF8设置,下拉
    BEEP=0;               //关闭蜂鸣器
}

main.c

#include "sys.h"
#include "delay.h"
#include "led.h"
#include "beep.h"

int main(void)
{
    Stm32_Clock_Init(336,8,2,7);  //设置时钟,168MHz
    delay_init(168);              //初始化延时函数
    LED_Init();                   //初始化LED时钟
    BEEP_Init();                  //初始化蜂鸣器端口
    while(1)
    {
        LED0=0;
        BEEP=0;
        delay_ms(300);
        LED0=1;
        BEEP=1;
        delay_ms(300);
    }
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

STM32学习(蜂鸣器实验) 的相关文章

  • PX4学习(1)——PX4固件版本开发环境(ROS+mavros版本)

    参考px4官网流程 xff1a https dev px4 io en setup dev env linux ubuntu html https dev px4 io en setup building px4 html 配置过程中网速一
  • 一个操作,轻松迁移 Maven 至 Gradle

    今天我们来讲讲如何将 Maven 项目转换为 Gradle 项目 这个过程还是蛮简单的 xff0c 下面通过一个例子来说明怎么转换 Gradle 设置 如果没有安装 gradle xff0c 我们可以从 Gradle 官网下载最新的版本 x
  • 不同域名访问显示不同备案号

    lt a href 61 34 http beian miit gov cn 34 id 61 34 BeiAnHao 34 style 61 34 color 999999 34 target 61 34 blank 34 gt 鲁ICP
  • Word文档从第N页开始显示页眉或页脚的方法

    1 打开想要设置页眉页脚的word文档 2 假如想从第三页开始设置页眉 xff0c 就把光标选在在第二页末尾 xff0c 点击菜单栏 页面布局 xff0c 找到 分隔符 里子选项 分节符 xff0c 下一页 把文档分成两节 xff08 以O
  • xampp 访问出现New XAMPP security concept

    New XAMPP security concept Access to the requested directory is only available from the local network This setting can b
  • Runtime error 216 at xxx 故障解决一例

    故障现象 xff1a 部分Delphi项目在win7开发机上不能运行了 xff0c 提示Runtime error 216 at xxx错误信息 xff0c 但是将出错的EXE文件复制到别的win7和xp下 xff0c 均运行正常 解决办法
  • 启用了TRACE 和TRACK HTTP 方法,如何禁用?

    http wenku baidu com view 557d761ea8114431b90dd873 html http wenku baidu com view de1f4ad2195f312b3169a50d html http www
  • IP地址表示方法及网段子网掩码写法

    A类IP段 0 0 0 0 到127 255 255 255 B类IP段 128 0 0 0 到191 255 255 255 C类IP段 192 0 0 0 到223 255 255 255 XP默认分配的子网掩码每段只有255或0 xf
  • ftp连接错误——服务器发回了不可路由的地址。使用服务器地址代替。

    设置filezilla客户端的连接参数 选中某一连接项高级 加密 只使用普通ftp传输设置 传输模式 主动重新连接
  • VNC内网穿透--MAC控制windos

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 前言SSH和VNCSSHSSH服务端SSH客户端 VNCVNC serverVNC viewer 内网穿透花生壳 前言 翻出很久
  • Excel 2016双击文件打开为空白的解决办法

    故障描述 xff1a 安装Office 2016后 xff0c 双击EXCEL文件打开后显示为空白 解决办法 xff1a 开始 运行 regedit 修改HKEY CLASSES ROOT Excel Sheet 12 shell Open
  • Linux 修改远程默认端口(22)

    如题 xff1a 在此前 xff0c 建议先查看redhat的release版本 xff0c CentOS 7的启动服务不同 xff1a more etc redhat release 正文 xff1a 1 编辑sshd配置 xff0c 修
  • pytorch环境配置(装cuda、cudnn)win10+cuda10.1+cudnn7.6.5+torch1.7.1 && 集显装pytorch

    为了装这个走了太多坑了 xff0c 所以想写一篇具体教程 xff0c 有缘人看吧 xff0c 希望能解决你的问题 xff08 第一次写文章啥也不懂 xff0c 万一冒犯了啥 xff0c 麻烦告知我改 xff09 我anaconda很早就装过
  • APM无人机软件在环仿真环境搭建

    题记 xff1a 最近做毕业设计得用到无人机仿真 xff0c 重操旧业 xff0c 搞一搞SITL仿真 给个传送门参考 xff1a 无人机SITL仿真 APM软件在环仿真 我的环境 xff1a ubuntu18 04虚拟机 1 官方教程 a
  • 无人机导航中的各类坐标系

    无人机中的各类坐标系学习笔记 xff1a 北东地坐标系 NED north east down 东北天 ENU east north up 机体坐标系 body frame 1 导航中的坐标系理解 重要参考 导航中 xff0c 最重要的两个
  • 有了Systick中断为什么还要PendSV中断?

    文章目录 问题 xff1a 原因 xff1a 1 在SysTick中断里完成任务切换会降低操作系统的实时性 xff1a 2 把systick优先级设置为最高把PendSV设置为最低的好处 xff1a 3 结语 xff1a 问题 xff1a
  • OpenCV/caffe安装流程

    公司正在做人脸识别系统 xff0c 用到了OpenCV库 xff0c 下面就是根据网上资料以及自己多次部署安装的经验整理的安装流程 xff0c 希望能给一些人一点参考 系统 xff1a Ubuntu1604 CPU架构 xff1a 一般是x
  • win10远程桌面连接ubuntu18.04

    一开始 xff0c 我是根据这个教程进行操作的 xff0c 改了设置为共享 xff0c 安装xrdp等 xff0c 一切都完成后 xff0c 当进行连接时 xff0c 也会出现那个xrdp连接界面 xff0c 但只要一登陆 xff0c 界面
  • 机器学习算法知识点整理

    1生成模型generative model和判别模型 discriminative model 已知输入变量x xff0c 生成模型通过对观测值和标注数据计算联合概率分布P x y 来达到判定估算y的目的 判别模型通过求解条件概率分布P y
  • 我的2014年总结——奔波的一年

    2014年 xff0c 发生了一些人生的大事 xff0c 这些事既有忧 xff0c 又有喜 这因为有这些事情的发生 xff0c 所以我们才越发成熟 xff0c 越发稳重 2014年技术的提升没有前2年那么突飞猛进了 xff0c 生活的事情也

随机推荐

  • 谈谈你对Spring Bean生命周期的理解【面试】

    前言 面试中经常会被问到Spring Bean的生命周期 xff0c 有些人说记不住 xff0c 看了一遍源码也是云里雾里的 xff0c 那是因为只看理论 xff0c 没有自己实践 xff0c 如果自己亲自写代码验证一下 xff0c 不管是
  • FreeRTOS初级篇----名称规范

    数据类型 TickType t xff1a FreeRTOS中断计数值类型 xff0c 可以是16位也可以是32位 xff0c 对于32位CPU来说TickType t最好为32位 BaseType t xff1a 是能够让CPU运行效率最
  • FreeRTOS初级篇----创建任务--动态创建、静态创建

    任务创建函数 xff1a xTaskCreate BaseType t span class token function xTaskCreate span span class token punctuation span TaskFun
  • Linux 性能测试与分析

    源自 http blog sina com cn s blog 71ad0d3f01019uzl html Linux 性能测试与分析 Revision History Version Date Author Description 1 0
  • HashMap底层原理

    文章目录 1 HashMap的概念2 底层数据结构2 JDK1 8之前存在的问题 xff1f 3 问题 xff1a 加载因子为什么默认值为0 75f xff1f 4 问题 xff1a 如果得到key的hash值 xff08 哈希码 xff0
  • 解决虚拟机能够ping通本机,但是无法上网问题

    查看centos网关是否设置正确 root 64 localhost ethan grep GATEWAY etc sysconfig network scripts ifcfg etc sysconfig network scripts
  • c语言字符串分割函数

    C语言字符串分割 strsep函数用于分解字符串为一组字符串 定义语句为char strsep char stringp const char delim 使用实例 xff1a include lt stdio h gt include l
  • Android Socket学习(三)三方apk执行shell命令

    include lt stdio h gt include lt stdlib h gt include lt string h gt include lt fcntl h gt include lt sys types h gt incl
  • ADB命令用法大全

    一 ADB简介 Android Debug Bridge xff0c 安卓调试桥 xff0c 它借助adb exe xff08 Android SDK安装目录platform tools下 xff09 xff0c 用于电脑端与模拟器或者真实
  • SDN入门_基本概念掌握

    部署SDA的链接 xff1a https www cisco com c en us solutions enterprise networks software defined access compatibility matrix ht
  • docker-io, docker-ce, docker-ee 区别

    docker io docker engin 是以前早期的版本 xff0c 版本号是 1 xff0c 默认centos7 安装的是docker io xff0c 最新版是 1 13 docker ce 是社区版本 xff0c 适用于刚刚开始
  • Typora免费版下载【Mac、Windows】

    前言 Typora1 0版本之后是付费版本 xff0c 1 0之前的版本官方网站已移除 xff0c 在网上找了好久 xff0c 现在记录下来 下载 付费版 Typora支持macOS Window Linux系统 xff1a 官方下载地址
  • docker修改镜像名称以及tag版本

    docker tag 镜像ID 镜像名称 tag版本信息 docker tag 8ef375298394 mysql v5 7
  • npm安装报错解决合集(一)

    在新版nodejs已经集成了npm xff0c 所以npm也都安装好了 可以通过输入下面命令来测试是否成功安装 node v npm v 如果安装成功 xff0c 都会出现版本号 用npm v测试 xff0c 报错 xff1a node i
  • ES6系列——类数组转换为数组的几种方法以及for of、forin、for Each的区别

    以及目录 一 什么是类数组 xff1f 二 什么是类数组对象 xff1f 第一种方法 xff1a 使用for in 将类数组对象转换为数组 第二种方法 内置对象keys和valus 第三种方法 xff1a Array from for of
  • 对.net事件的看法

    一 事件的本质 事件是软件系统里的两个子系统之间 xff0c 或者两个模块之间 xff0c 或者两个对象之间发送消息 xff0c 并处理消息的过程 在面向对象的世界里 xff0c 就可以统一认为是两个对象之间的行为 两个对象之间发送的这种消
  • 深入理解module.exports、exports、require、export、export default、import

    前言 xff1a 说到module exports exports require export export default import这些 xff0c 有一点我们是必须要提一下的 xff0c 就是模块化编程方式 以上这些都是模块之间的
  • 服务器安全设置Centos7 防火墙firewall与iptables

    一 gt gt gt gt gt gt 启用centos7 iptables防火墙Centos7 防火墙firewall设置方法 我们Sinesafe在处理客户服务器Linux Centos7 64位系统里配置防火墙安全设置需要选择2种方案
  • VTK基本概念之坐标系统

    坐标系统 在实际开发中 xff0c 必须理解不同坐标系统之间的关系 计算机图形学里常用的四种坐标系 xff1a Model坐标系 Word坐标系 View坐标系和Display坐标系统 xff0c 转换关系如下图所示 VTK支持多种不同类型
  • STM32学习(蜂鸣器实验)

    蜂鸣器硬件电路连接 蜂鸣器软件设计 库函数 使能输入输出口时钟 调用函数RCC AHB1PeriphClockCmd 初始化输入输出口模式 调用函数GPIO Init 操作输入输出口 xff0c 输出高低电平 beep h ifdef BE