历史上的今天

今天是:2024年09月11日(星期三)

正在发生

2018年09月11日 | STM32F030控制蜂鸣器

发布者:Qinghua2022 来源: eefocus关键字:STM32F030  控制蜂鸣器 手机看文章 扫描二维码
随时随地手机看文章

(1)main()函数中:


int BeeTime=0;

int soundSta=0;

 

void main()

{

TIM2_Init();

soundBee(1);//长响一声

soundBee(0);//短响一声

 

}

 

void TIM2_Init() 

{

    TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;

    RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);

 

    TIM_TimeBaseStructure.TIM_Period = (TIM_CLK / 200000) - 1;

    TIM_TimeBaseStructure.TIM_Prescaler = 1999;

    TIM_TimeBaseStructure.TIM_ClockDivision = 0x0;

    TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;

 

    TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);

    TIM_SetAutoreload(TIM2, ((TIM_CLK / 200000) - 1));

 

 

    TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE); // 打开捕获比较中断 TIM_IT_Update

    TIM_Cmd(TIM2, ENABLE); //开启时钟

}

 

/***********************

  功能:蜂鸣器启动

  sta:1为成功,0为失败

***********************/

void soundBee(int sta) 

{

    DOOR_PWR1(1);

    if(sta==1)

    {

      soundSta=0;

      BeeTime = 80;

    }else{

      soundSta=1;

      BeeTime = 20;

    }    

}

(2)hardware_conf.h函数中:


#define DOOR_PWR1(tmp)       GPIOA->ODR=tmp?(GPIOA->ODR|1<<1):(GPIOA->ODR&(~(1<<1))) //蜂鸣器

(3)stm32f10x_it.c函数中:


extern int BeeTime;

 

void TIM2_IRQHandler(void)  

{  

  if(TIM_GetITStatus(TIM2, TIM_IT_Update) != RESET)

  {

    TIM_ClearITPendingBit(TIM2, TIM_IT_Update);

 

    if(BeeTime<0)

    {

      BeeTime++;

      if(BeeTime==0)

      {

        DOOR_PWR1(1);

        BeeTime=20;

      }

    }

    if(BeeTime>0||soundSta==2)

    {

      if(BeeTime>0) BeeTime--;

      if(BeeTime==0)

      {

        if(soundSta==0)

        {

          DOOR_PWR1(0); 

        }

        else if(soundSta==1)

        {

          DOOR_PWR1(0);

          BeeTime=-10;

          soundSta=2;

        }

        else

        {

          DOOR_PWR1(0);

          soundSta=0;

        }

      }

    }

 

  }

  else  if (TIM_GetITStatus(TIM2,  TIM_IT_CC1) != RESET)

  {

    TIM_ClearITPendingBit(TIM2, TIM_IT_CC1); 

  }  

}

 


关键字:STM32F030  控制蜂鸣器 引用地址:STM32F030控制蜂鸣器

上一篇:STM32F030控制LED
下一篇:STM32延时函数的四种方法

推荐阅读

在无锡20余万家企业中,隐藏着一批极具核心竞争力的中小型企业。它们的产品质量精良,“专精特新”,在产品、技术和客户需求层面,目标明确。这些企业因为不和终端消费者产生直接联系,所以不为人所知。但它们却是产业链上不可或缺的部分,被称作“隐形冠军”,或是潜在的“隐形冠军”。回溯无锡的产业发展,物联网从无到有,迭代演进,蓬勃向前。但“应用...
苹果在今天凌晨于美国加州的史蒂夫·乔布斯剧院举行了秋季新品发布会。发布会上展出了全新的iPhone 11系列三款产品以及小有更新的入门级iPad和Apple Watch。iPhone虽然今年的iPhone 11系列产品在年初外观基本就被泄露的差不多了,但我还是怀着“苹果不会有这种设计”的观念看了发布会,不过结果嘛……想必你们也知道了。三款新品中iPhone 11是iPhone ...
SysTick是STM32中的一个24位的定时器。Cortex‐M3处理器内部包含了一个简单的定时器。因为所有的CM3芯片都带有这个定时器,软件在不同 CM3器件间的移植工作得以化简。该定时器的时钟源可以是内部时钟,或者是外部时钟。不过,STCLK的具体来源则由芯片设计者决定,因此不同产品之间的时钟频率可能会大不相同,你需要查找芯片的器件手册来决定选择什么作为...
智东西(公众号:zhidxcom)作者 | 健恩编辑 | 云鹏智东西9月11日报道,昨天,世界机器人大会再次在北京亦庄拉开帷幕,智东西记者一大早便跨越整个北京城来到这里打探这场大会的最新消息。世界机器人大会自2015年开始举办,迄今为止已成功举办过5次。它不仅是国内一年一度规模最大的机器人产业顶级展会,也是国内机器人产业风向的集中展示。智东西了解...

史海拾趣

问答坊 | AI 解惑

usb调试助手1.2版

自己买的书里的 分享一下…

查看全部问答∨

03~07年全国大学生电子设计竞赛题目及分类汇总

本帖最后由 paulhyde 于 2014-9-15 03:56 编辑 搜集整理了一下03年至07年最近三届全国大学生电子设计竞赛的题目,大家准备竞赛的时候可以看一下!特别注意分类汇总哈~~~~ 这些可就是传说中的真题哦!!  …

查看全部问答∨

求助:PB6.0网络下载NK失败?

在PB6.0下想通过ETHERNET下载NK.BIN文件,开发板是imx35。开发板上EBOOT发送SEND ME UDP包正常,在vs.net2005中 Connectivity options中得Active target devices中也能看到开发板的名称。可是ATTACH连接设备时却没有反应,输出 如下: PB Debu ...…

查看全部问答∨

一個年過三十的開發人員的困惑

本人已年過三十,從事軟件開發有十年時間了.期間經歷了各種語言和開發模式的變遷. 歷經艱辛,目前是一家軟件公司的項目負責人. 主要從事的企業管理類軟件的開發. 深感企業類軟件開發的艱辛,客戶變更,各種無理要求,開發人員管理的困難. 近日心灰意 ...…

查看全部问答∨

EBOOT 中断问题??

我现在在EBOOT中要实现一个中断,我是按照USB中断来做的,可以进中断,但是中断执行完后,不能返回到原来进中断的地方执行程序,不知道什么原因??高手帮忙看下 中断初始化程序:      pISR_iic =(unsigned)(0xEA000000)+( ...…

查看全部问答∨

eboot起不来??

OEMVerifyMemory: dwStartAddr=0x0, dwLength=0x0 为什么dwLength的长度会是0 ,和实际下载的不一样,有哪位大哥知道这是什么原因呀…

查看全部问答∨

stm32LCD怎么显示汉字

                                 谁能帮个忙&nbsp;给个例程&nbsp;或原理…

查看全部问答∨

建议尽快升级到Lib3.0(stdperiph&USB)

新的库产生的代码明显减小但是对比源码看,相对2.x并没有多少改动,最后发现效率来源于ST对库的架构做了优化stm32f10x_conf.h 中可以看到一部分以前是一堆宏定义,自己开关现在时自己控制对include的开关中断向量映射ISR程序:以前是所有 ...…

查看全部问答∨

MC34063应用寻求解决方安

用MC34063如何将5V转换成正负12V各电阻,电容如何计算。手册中没有给出相应的值。应该去那里去找。…

查看全部问答∨

430学习

MSP430以其超低功耗在业界被广泛采用,尤其是在电子称重,无线传感网络,嵌入式中应用广泛。想买一块MSP430的板子来做现在的一个项目,关于磁传感器方面的,希望能够购到MSP-EXP430FR5739实验板套件,好好学习430,掌握先进知识,大家加油!…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved