STM32学习笔记(二 GPIO学习 3 蜂鸣器)

STM32学习笔记(二 GPIO学习 3 蜂鸣器),第1张

STM32学习笔记(二 GPIO学习 3 蜂鸣器) 一、 硬件设计

本章需要用到的硬件有:
1)指示灯 DS0
2)蜂鸣器
蜂鸣器的驱动信号连接在 STM32 的 PB8 上。

二、实验步骤

1.使能IO口时钟
2.初始化IO口模式 调用BEEP_Init();
3. *** 作IO口,输出高低电平。

三、实际试验
1.更改led.h和led.c文件
目的是用DSO和DS1两个小灯的亮灭来展示实验结果。
DSO和DS1分别为命名为LED0和LED1
2.编写beep.c和beep.h完成BEEP初始化

//这是.c文件
#include "beep.h"
void BEEP_Init(void)
{
 
 GPIO_InitTypeDef  GPIO_InitStructure;
 	
 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);	 
 
 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;				 
 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; 		
 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;	 
 GPIO_Init(GPIOB, &GPIO_InitStructure);	 
 
 GPIO_ResetBits(GPIOB,GPIO_Pin_8);//蜂鸣器默认低电平

}

//这是.h文件
#ifndef __BEEP_H
#define __BEEP_H	 
#include "sys.h"

#define BEEP PBout(8)			   

void BEEP_Init(void);	
		 				    
#endif


3.编写main
#include "sys.h"	
#include "delay.h"	
#include "led.h" 
#include "beep.h" 


 int main(void)
 {
	delay_init();	    	
	LED_Init();		  	 	
	BEEP_Init();         	
	while(1)
	{
		LED0=0;
		BEEP=0;		  
		delay_ms(300);
		LED0=1;	  
		BEEP=1;  
		delay_ms(300);
	}
 }


4.上传

四、几个问题

1.sys.h的作用
2.#define BEEP PBout(8) 这一句什么意思

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/zaji/5711640.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-17
下一篇2022-12-17

发表评论

登录后才能评论

评论列表(0条)

    保存