历史上的今天
今天是:2024年12月16日(星期一)
2021年12月16日 | STM32Keil下编程实现蜂鸣器长鸣
2021-12-16 来源:eefocus
前言
基于STM32F103C8T6在Keil下编程实现蜂鸣器的长鸣
一、原理图
1.STM32F103C8T6

STM32F103C8T6是ST在2007年发布的一款MCU,截止目前ST已经发布了速度高达400MHz的STM32H7。三点好处,一是封装比较大,方便初学者焊接,二是价格低廉,学习成本比较低,三是网上有大量的资料供初学者学习使用。
2.BELL蜂鸣器

二、Keil代码
1.Beep.c
代码如下:
#include"stm32f10x.h"
#include"Beep.h"
void BEEP_Init(void)
{
GPIO_InitTypeDef GPIO_Structure;//调用GPIO_Structure结构体
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);//引脚GPIOB挂载在APB2上的外设作为输入参数
GPIO_Structure.GPIO_Mode=GPIO_Mode_Out_PP;//指定工作方式OUT推挽输出
GPIO_Structure.GPIO_Pin=BEEP_Pin;//Beep指定引脚
GPIO_Structure.GPIO_Speed=GPIO_Speed_10MHz;//指定速度为10MHz
GPIO_Init(BEEP_GPIO,&GPIO_Structure);//调用GPIO_Init 传入&GPIO_Structure(对该引脚初始化)
}
2.Beep.h
代码如下:
#ifndef _BEEP_H_
#define _BEEP_H_
#include "stm32f10x.h"
//宏定义
#define BEEP_GPIO GPIOB //指定BEEP端口为GPIOB
#define BEEP_Pin GPIO_Pin_10 //指定GPIO_Pin_10引脚为BEEP_Pin
#define BEEP_OFF BEEP_GPIO->BRR = BEEP_Pin //BEEP响 SRR下拉
#define BEEP_ON BEEP_GPIO->BSRR = BEEP_Pin //BEEP停 BSRR上拉
//全局函数声明
void BEEP_Init(void); //初始化
#endif
3.main.c
代码如下:
//#include"Led.h"
#include"stm32f10x.h"
#include"Beep.h"
//typedef unsigned char uint8_t;
//typedef unsigned short int uint16_t;
//typedef unsigned int uint32_t;
//typedef unsigned _INT64_uint64_t;
static void delay(uint16_t n )//延时程序
{
uint16_t i,j;
for(i=0;i } int main(void) { //LED_Init(); BEEP_Init();//beep初始化 while(1) { // LED2_ON; //LED3_ON; // GPIO_ResetBits(GPIOB,GPIO_Pin_10);//GPIO位输出为0 BEEP_ON; delay(200); BEEP_OFF; //GPIO_SetBits(GPIOB,GPIO_Pin_10);//GPIO位输出1 delay(180); BEEP_ON; delay(40); BEEP_OFF; delay(100); BEEP_ON; delay(90); BEEP_OFF; delay(150); //LED2_OFF; //LED3_OFF; //delay(200); } } 总结 以上就是今天要讲的内容,本文仅仅简单介绍了基于STM32F103C8T6在Keil下编程实现基于STM32F103C8T6在Keil下编程实现蜂鸣器的长鸣的原理图和代码。
史海拾趣
|
编译DirectDrawCreateEx 出错!!请高手指点!! 编译时 DirectDrawCreateEx 有问题,代码如下: if( FAILED( dirdr = DirectDrawCreateEx( NULL, (VOID**)&m_pDD,IID_IDirectDraw7, NULL ) ) ) return FALSE; 连接库有: winmm.lib dx ...… 查看全部问答> |
|
比如以前,我们说微处理器的出现是因为大规模集成电路的使用,那么请问最近这十年的性能的飙升是因为什么? 像内存,为什么以前只有64KB那么多,一下子飙升了上百倍,上千倍,而且体积还是那么大? … 查看全部问答> |
|
程序中的一块要实现软件看门狗功能,中间到reboot(0x00)并不能实现目标机重启,求高手指点~~~ /*includes*/ #include \"vxWorks.h\" #include \"logLib.h\" #include \"math.h\" #include \"stdioLib.h\" #include \"stdio.h\" #incl ...… 查看全部问答> |
|
首先 在网站www.mcu123.com下载 软件 。 然后是安装。 STEP1:将下载好的文件解压缩,得到一个虚拟光驱文件TLF-SOFT-12.30.05.ARM.RealView.Developer.Suite.v2.2-ZWTiSO.bin。用虚拟光驱打开它,点击SETUP.exe一路默认安装RVD ...… 查看全部问答> |




