历史上的今天
返回首页

历史上的今天

今天是:2025年06月24日(星期二)

正在发生

2019年06月24日 | STM32蜂鸣器-库函数

2019-06-24 来源:eefocus

需要注意的是,使用了库函数的模板就不能胡乱套用寄存器的操作,之前还想放个大招结果出丑了,这里的实验要求是绿灯亮,蜂鸣器响,红灯亮,蜂鸣器停止,蜂鸣器响起间隔半秒,led的文件我这里就不给出了,主要放出beep的文件吧,这里操作的是PF8口。


1.beep.h


#ifndef __BEEP_H

#define __BEEP_H

#include "sys.h"

 

#define BEEP PFout(8)

 

void beep_init(void);

 

#endif

 

2.beep.c


#include "beep.h"

 

void beep_init()

{

    GPIO_InitTypeDef GPIO_InitStructure;

 

    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 ;

    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;

    GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;

    GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;

    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;

 

    RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF, ENABLE);

    GPIO_Init(GPIOF, &GPIO_InitStructure);

    GPIO_SetBits(GPIOF, GPIO_Pin_8);

}

 


3.main.c


#include "stm32f4xx.h"

#include "usart.h"

#include "delay.h"

#include "led.h"

#include "beep.h"

 

 

int main(void)

{

uart_init(115200);

delay_init(84);

  led_init();

  beep_init();

 

  while(1){

    GPIO_ResetBits(GPIOF, GPIO_Pin_9);

    GPIO_SetBits(GPIOF, GPIO_Pin_10);

    GPIO_ResetBits(GPIOF, GPIO_Pin_8);

    delay_ms(500);

 

    GPIO_SetBits(GPIOF, GPIO_Pin_9);

    GPIO_ResetBits(GPIOF, GPIO_Pin_10);

    GPIO_SetBits(GPIOF, GPIO_Pin_8);

    delay_ms(500);

 

}

}


推荐阅读

史海拾趣

Consolidated Wire公司的发展小趣事

面对不断变化的市场需求和技术趋势,Consolidated Wire公司始终保持创新精神。公司不断研发新产品、新技术,满足客户的多样化需求。同时,公司还注重与其他行业的合作与交流,通过跨界合作推动产品创新和技术升级。这种创新驱动的发展模式使得Consolidated Wire公司能够持续保持竞争优势,实现持续稳健的发展。

Electronic Concepts Inc公司的发展小趣事

随着市场的竞争加剧,ECI意识到只有不断创新才能在行业中立足。在总经理张女士的领导下,公司投入大量资源进行研发,成功推出了一系列具有竞争力的新产品。其中,一款集成了先进算法的智能传感器,因其高精度和低功耗特性,在市场上大受欢迎。这一创新不仅提升了ECI的品牌形象,也为公司带来了丰厚的利润。

DIALIGHT公司的发展小趣事

DIALIGHT公司一直专注于工业LED照明领域的发展。他们深入了解工业空间照明的需求和挑战,设计了一系列专为工业应用而定制的LED照明产品。这些产品不仅易于安装和维护,而且能在恶劣的环境下持续使用。此外,DIALIGHT还提供集成系统解决方案,帮助客户降低能源成本、维护成本和碳足迹,同时提高设施的安全性和生产力。通过不断创新和优质服务,DIALIGHT在工业LED照明领域赢得了广泛的认可和信赖。

Ark-Les Connectors公司的发展小趣事

Ark-Les Connectors公司的成功离不开一支高素质的团队。公司注重人才培养和团队建设,通过提供完善的培训体系和晋升机制,吸引和留住了一批优秀的研发、生产、销售和管理人才。这些人才为公司的发展提供了源源不断的动力和创新力。同时,公司还倡导团队合作精神,鼓励员工之间的沟通与协作,共同为公司的发展贡献力量。这种良好的团队氛围使得Ark-Les能够在面对市场挑战时保持凝聚力和战斗力,实现持续稳健的发展。

这些故事只是基于电子行业一般发展规律的虚构情景,旨在展示一个公司可能的发展路径和策略。实际的电子行业发展过程中,公司的发展会受到众多因素的影响,包括市场环境、技术变革、政策调整等。因此,读者在理解这些故事时,应结合实际情况进行思考和判断。

Facon公司的发展小趣事

在2010年代初,随着科技的飞速发展,电子行业正迎来新一轮的创新浪潮。这时,一群充满激情和梦想的工程师在硅谷创立了Facon公司,他们怀揣着改变世界的愿景,立志在电子行业中留下自己的印记。初始阶段,Facon主要专注于研发高性能的半导体芯片,为智能手机、平板电脑等电子产品提供强大的计算能力。通过不懈努力和持续创新,Facon逐渐在市场中树立了良好的口碑。

Anvo-Systems公司的发展小趣事

随着公司业务的不断扩展,Anvo-Systems开始实施国际化战略。公司先后在亚洲、欧洲和北美等地设立了研发中心和生产基地,以更好地满足不同地区的市场需求。同时,Anvo-Systems积极参与国际电子展会和技术交流活动,与全球同行建立了广泛的合作关系。这一全球化布局不仅提升了公司的竞争力,也为公司的长期发展打开了新的空间。

问答坊 | AI 解惑

51单片机C语言应用程序设计实例精讲

51单片机C语言应用程序设计实例精讲…

查看全部问答>

苹果在哪里超越了微软?

  5月26日,苹果的总市值超越微软,从而成为全球市值最大的技术公司,这是一个标志的事件,标志着苹果的重新崛起。  苹果和微软,这两家全球最伟大的公司,有过许许多多的恩恩怨怨,1980苹果公司上市,5年后随即进入世界500强,这是当时最快 ...…

查看全部问答>

S3C6410上OpenGL ES的问题

我想在S3C6410的板子上做一个简单的3D的AP,系统是使用的OpenGL ES 2.0,我使用eglInitialize、eglChooseConfig、eglCreateWindowSurface、eglCreateContext、eglMakeCurrent等,一些列的函数初始化都通过了。但是为什么使用glClearColor来设置颜色 ...…

查看全部问答>

CODE和DATA的使用及一些区别

想问下下面两段程序段有啥区别,功能应该是一样的,只是不知道有没有什么区别?还有就是什么情况下用数据段 “AREA |DATA|,DATA,READWRITE”,下面的是代码段CODE   AREA |DATA|,CODE,READONLY   ENTRY   ldr r1 ...…

查看全部问答>

OrCAD--->Model Edit中的Parameters各参数意义

Model Edit中有三个dock,其中一个是Parameters,在这个dock中,Parameter Name有很多参数,但是其代表的什么意思不知道,烦请大家帮助. 如我做了一个MOSFET库,在Parameter Name这一列中,有L、W、KP、RS、RD、VTO、RDS、TOX、CGSO、CGDO、CBD、MJ、PB、 ...…

查看全部问答>

CODEC声音驱动的难题!蓝牙有关的

双PCM 接口的CODEC如何进行声音的切换,就是从系统声音切换到蓝牙声音,谢谢!…

查看全部问答>

TC35拨号问题

各位前辈,小弟最近做TC35i的简单应用设计,其中一项是当发给模块一条特定短信后,单片机处理短信并拨打发送方的号码,直接用PC机的软件发出ATD136********;后可以拨通号码,而使用单片机时监控软件也显示单片机输出了ATD136********;却怎么也拨 ...…

查看全部问答>

一家手机软件公司的面试题,能不能给小第做一下啊?

7. How many of the below are FALSE about constants? I.   They may occur on the left of :=  ( := 赋值 ) II.  They may occur on the left of =   ( = 比较 ) III. They may occur on the right o ...…

查看全部问答>

SDIO模式读写SD卡要注意的问题

用ST提供的SDIO库函数读写SD卡老是不成功。测试代码如下:  while(SD_Init()!=SD_OK);  SD_EnableWideBusOperation(SDIO_BusWide_4b);  SD_SetDeviceMode(SD_POLLING_MODE);  while(SD_ReadBlock(0,( ...…

查看全部问答>

点亮二极管

各位大侠,点亮二极管怎么编写呀,用c语言,avr   mega16单片机,谢谢…

查看全部问答>