历史上的今天
今天是:2025年03月29日(星期六)
2019年03月29日 | STM32蜂鸣器-库函数
2019-03-29 来源: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);
}
}
史海拾趣
|
电流的产生是由于场强的建立拉动电子形成,场强的建立是非常快的等于光速,所以电流也是光速。 本质上说,金属导体中的电流是由金属中的自由电子定向移动所产生的,电子定向移动的速度由以下的方法简单算出: 设一段金属导体的横截面积为S,自由 ...… 查看全部问答> |
|
用Delphi开发串口通信软件一般有两种方法:一是利用Windows的通信API函数,另一种是采用Microsoft的MSComm控件。利用API编写串口通信程序较为复杂,需要掌握大量通信知识,其优点是可实现的功能更强大,应用面更广泛,更适合于编写较为复杂的低层次 ...… 查看全部问答> |
|
这个程序是用51单片机控制L298,输出pwm波控制直流电机,调试没错误,又加了键盘控制。然后就碰见诡异问题了。用键盘控制高电平占用一个周期的时间。(高低和是10) 在高1低9的时候没问题,但高电平再加,如果不按住键盘输出的一直是最高电压。按住 ...… 查看全部问答> |
|
现在普遍都是用nandflash作为存储硬盘,所以wince系统加载的默认注册表路径在nandflash下,请问如何修改该加载路径,比如我放到SD卡盘符中……请高人指教… 查看全部问答> |
|
在2812dec外扩展了一片2m的双口ram。使用的是存储器扩展总线的zone2空间。采用ce0片选。按照书上的存储器空间映射地址应该为:0x80000-0x100000。调试的时候存在的问题如下: 1)我往这段地址写数、读数的时候,结构争 ...… 查看全部问答> |
|
收到Launchpad(第六批)发帖庆祝~顺便吐槽电容触控板~ 昨天下午收到了Launchpad,是第六批发货的。顺丰快递,挺给力的。第一次见识了电容触控板的庐山真面目,下面是一块双面PCB,上面覆盖了一层约1mm厚的有机玻璃。PCB上焊接有9个1206贴片LED(8红1白),还有相应的限流电阻、排母。再就是布线了,无它 ...… 查看全部问答> |




