
本章需要用到的硬件有:
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); #endif3.编写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) 这一句什么意思
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)