当前位置:首页 > 单片机 > 单片机
[导读]今天多学习几个模块,首先是蜂鸣器。板上所用的是无源蜂鸣器,可以用直流电压直接驱动。还有一种叫有源蜂鸣器,要使用频率的方波才能驱动。使用的蜂鸣器的驱动电压,典型值为5V,额定工作电流为30mA。STM32的GPIO管脚

今天多学习几个模块,首先是蜂鸣器。板上所用的是无源蜂鸣器,可以用直流电压直接驱动。还有一种叫有源蜂鸣器,要使用频率的方波才能驱动。

使用的蜂鸣器的驱动电压,典型值为5V,额定工作电流为30mA。STM32的GPIO管脚绝大多数能承受5V的电压,但是承受的电流最多为25mA,还需要使用三极管将电流放大,并且采用了一个限流电阻。我们把与蜂鸣器的GPIO设置为推挽输出,当输出1时,蜂鸣器响。当输出0时蜂鸣器灭。下面是我封装的文件:

BEEP.C

#include "beep.h"

void BEEP_Configuration(void)

{

GPIO_InitTypeDefGPIO_InitStructure;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //打开时钟

GPIO_InitStructure.GPIO_Pin =BEEP ;

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD;

GPIO_Init(GPIOA, &GPIO_InitStructure);

}

BEEP.H

#ifndef __BEEP_H

#define __BEEP_H

#include "stm32f10x_conf.h"

#define BEEPGPIO_Pin_3

#define BEEP_ON()GPIOA->BRR = BEEP

#define BEEP_OFF()GPIOA->BSRR = BEEP

//#define BEEP_ON() GPIO_ResetBits(GPIOA, BEEP)

//#define BEEP_OFF() GPIO_SetBits(GPIOA, BEEP)

void BEEP_Configuration(void);

#endif

串口模块。串口是电脑常用的设备,虽然笔记本上没有串口,使用USB转串口线就相当有串口的功能。串口简单容易实现,常常用于程序的打印显示等等。串口属于串行通信协议,大体指的是在一个线上传递多位数据,像SPI/I2C/USB都属于串行通信协议。串口模式通常使用3根线:(1)地GND,(2)发送TXD,(3)接收RXD。编程的时候只需配置好波特率,常用的是9600,意思就是每秒发生9600bit,我们知道一个字节等于8个比特位,如果要采集卡要传输1M个unsigned char的数据,大约要二十多分钟。当然我们可以把波特率提高,STM32最高能支持4.5M/S,但是速度增加,传输的距离将速度,误码率会提高。

软件编程的时候我们首先:打开相应功能的时钟,比如使用到串口一引脚的GPIOA时钟和串口一时钟USART1。然后我们对引脚和串口进行相应的配置。最后调用库函数写相应的功能。简单而言就是:时钟—配置—功能。STM32有一优势是,对于不同芯片有些功能对应的引脚是相同的。比如串口一,我发现大多数都是对于PA9和PA10的。在IAR环境中,如果要使用printf,需要进行如下的设置。好像IAR对puts不是很支持,打印字符用printf还行,最后是效果图。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

这是一个很好的时钟,有很大的片段,你可以设置每个片段的颜色和强度。有三个按钮,蜂鸣器,光传感器和RTC与备用电池。时钟通过USB C供电,具有当前时间,计时器和秒表等功能。请随意添加您自己的功能!

关键字: 蜂鸣器 光传感器 RTC

Holtek新推出专为感烟报警器应用设计的Flash MCU - BA45F25752/BA45F25762,整合双通道感烟侦测AFE、红外/蓝光LED驱动、万年历与蜂鸣器驱动等功能。相较于先前的BA45F5750/BA...

关键字: 感烟报警器 MCU 蜂鸣器

HT16K24操作电压为2.4V~5.5V,内建I²C通信接口,提供三种LCD显示与按键模式:24SEG × 4COM + 24 KEY;22SEG × 6COM + 22 KEY;20SEG × 8COM + 20 K...

关键字: LCD MCU 蜂鸣器

Holtek新推出集成感烟探测AFE、双通道LED驱动及9 V蜂鸣器驱动的32-bit Arm® Cortex®-M0+ MCU HT32L62141,采用超低功耗ULP (Ultra-Low Power) 设计,并提供...

关键字: MCU 烟探测器 蜂鸣器

这个项目是农业自动化的一个有趣的旋转:一个机器人松露嗅探器,可以自主导航一个空间,识别代表松露热点的AprilTags,并收集“松露”(用彩色球模拟)。灵感来源于现实生活中用猪和狗来定位地下的松露。

关键字: 机器人 蜂鸣器 计算机视觉

本项目将向您介绍来自Elecrow的新型1.28英寸圆形显示器,该显示器集成了ESP32C3芯片等!该项目将演示将设备固件更新到MicroPython并显示自定义消息的步骤。

关键字: 显示器 ESP32C3 蜂鸣器

把“G”分开是对吉尼斯啤酒饮用技巧的真正考验——准确地喝一口,液体的水平面要正好落在吉尼斯标志上“G”的中间。作为一个不喝酒的人,我想看看我是否能设计出一条通往成功的道路。所以,我做了一个设备,使用非接触式液体传感器和蜂...

关键字: 传感器 Arduino 蜂鸣器

在现代电子设备中,蜂鸣器作为一种能够发出声音信号的器件,被广泛应用于各种领域,如电子玩具、报警器、电子设备的提示音等。其中,有源压电式蜂鸣器以其只需接上额定直流电压即可发声的特点,受到了工程师们的青睐。那么,有源压电式蜂...

关键字: 蜂鸣器 器件 直流电压

我有很多魔方。有些很大;有些很小;有些花费了一大笔钱。两年前,我的弟弟把我的一个立方体扔在地上,毁了它,从那以后,我花了90美元升级了安全设备,以防止这种情况再次发生。但即使他没有破坏我的立方体,他也会在我展示的时候破坏...

关键字: Arduino Uno LCD 闪光灯 蜂鸣器

蜂鸣器是一种非常常用的电子元器件,广泛用于各种电子设备中的声音输出。而三极管则是一种半导体器件,具有放大和开关等功能。通过三极管的开关状态,可以驱动蜂鸣器产生声音。

关键字: 蜂鸣器 三极管
关闭