烽火社区
标题:
小雨儿Stm32学习板-蜂鸣器实验
[打印本页]
作者:
van7
时间:
2016-8-16 04:03 PM
标题:
小雨儿Stm32学习板-蜂鸣器实验
这一次做一个简单的蜂鸣器实验
大家对蜂鸣器应该都有所熟悉了就是一个用来发出滴滴滴的元器件
然后就是看原理图
[attach]40790[/attach]
小雨儿STM32板子蜂鸣器是接到PB10的,
所以我们写程序的时候一定要打开GPIOB的时钟
蜂鸣器的驱动部分很简单就是三极管、二极管、电阻、电容
硬件基本就是这样了,下面是进行软件的编写
软件设计
首先我们要用到的库文件有STM32F10X_GPIO.C、STM32F10X_rcc.c
然后就是公共文件里的延时函数,这个是我在网上拷贝过来用的
SystemInit();
每个工程必须开始时要启动系统时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
//打开GPIOB的时钟
while()主程序的函数
{
GPIO_SetBits(GPIOB,GPIO_Pin_10);
//高电平输出到PB10
delay_ms(1000);//0.5S 延时
GPIO_ResetBits(GPIOB,GPIO_Pin_10);
//低电平输出到PB10
delay_ms(1000);//0.5S
}
下面就是GPIO配置
{
GPIO_InitTypeDef GPIO_InitStructure;
//定义一个函数名
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_10;
//定义PB10为输出端口
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
//设置端口频率
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
//设置推挽输出
GPIO_Init(GPIOB,&GPIO_InitStructure);
}
写好后然后进行编译,如果没用问题可以直接下载到板子上。
实验效果没办法展示,可以通过调节延时的快慢发出的声音也是不一样的。
[attach]40791[/attach]
[attach]40792[/attach]
这是我KEIL里写的截图
[attach]40793[/attach]
毫秒延时函数
[attach]40794[/attach]
微妙延时函数
写的不对的地方请大神们指点
附件里是蜂鸣器程序
作者:
javid
时间:
2016-8-16 04:06 PM
点个赞,支持
作者:
liyine
时间:
2016-8-16 04:25 PM
板凳坐起!
欢迎光临 烽火社区 (https://bbs.cnecport.com/)
Powered by Discuz! X3.2