【STM32】STM32学习笔记-LED闪烁 LED流水灯 蜂鸣器(06-2)

00. 目录

01. GPIO之LED电路图

电路图示例1

在这里插入图片描述

电路图示例2

在这里插入图片描述

02. GPIO之LED接线图

在这里插入图片描述

03. LED闪烁程序示例

main.c

#include "stm32f10x.h"

#include "delay.h"



 int main(void)
 {	
	 GPIO_InitTypeDef GPIO_InitStruct;
	//使能GPIOA时钟
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
	 
	
	//GPIO初始化
	 GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
	 GPIO_InitStruct.GPIO_Pin = GPIO_Pin_0;
	 GPIO_InitStruct.GPIO_Speed = GPIO_Speed_10MHz;
	
	 GPIO_Init(GPIOA, &GPIO_InitStruct);
	 
	 while(1)
	 {
		#if 0
		 //设置为高电平
		GPIO_SetBits(GPIOA, GPIO_Pin_0);
		delay_ms(100);

		 //设置为低电平
		GPIO_ResetBits(GPIOA, GPIO_Pin_0);
		delay_ms(100);
		#endif

		#if 0
		//设置为低电平
		GPIO_WriteBit(GPIOA, GPIO_Pin_0, Bit_RESET);
		delay_ms(500);

		 //设置为高电平
		GPIO_WriteBit(GPIOA, GPIO_Pin_0, Bit_SET);
		delay_ms(500);
		#endif
		 
		 
		//设置为低电平
		GPIO_WriteBit(GPIOA, GPIO_Pin_0, (BitAction)0);
		delay_ms(100);

		 //设置为高电平
		GPIO_WriteBit(GPIOA, GPIO_Pin_0, (BitAction)1);
		delay_ms(100);
	 }
	 
	 
	 return 0;
 }

04. LED闪烁程序下载

接线图如下图所示:

在这里插入图片描述

点击下载,现象为LED闪烁。

05. LED流水灯接线图

在这里插入图片描述

06. LED流水灯程序示例

main.c

#include "stm32f10x.h"

#include "delay.h"



 int main(void)
 {	
	 GPIO_InitTypeDef GPIO_InitStruct;
	//使能GPIOA时钟
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
	 
	
	//GPIO初始化
	 GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
	 GPIO_InitStruct.GPIO_Pin = GPIO_Pin_All; //初始化所有的引脚
	 GPIO_InitStruct.GPIO_Speed = GPIO_Speed_10MHz;
	
	 GPIO_Init(GPIOA, &GPIO_InitStruct);
	 
	 while(1)
	 {
		GPIO_Write(GPIOA, ~0x0001);	//0000 0000 0000 0001
		delay_ms(100);
		 
		GPIO_Write(GPIOA, ~0x0002);	//0000 0000 0000 0010
		delay_ms(100);
		 
		GPIO_Write(GPIOA, ~0x0004);	//0000 0000 0000 0100
		delay_ms(100);
		 
		GPIO_Write(GPIOA, ~0x0008);	//0000 0000 0000 1000
		delay_ms(100);
		 
		GPIO_Write(GPIOA, ~0x0010);	//0000 0000 0001 0000
		delay_ms(100);
		 
		GPIO_Write(GPIOA, ~0x0020);	//0000 0000 0010 0000
		delay_ms(100);
		 
		GPIO_Write(GPIOA, ~0x0040);	//0000 0000 0100 0000
		delay_ms(100);
		 
		GPIO_Write(GPIOA, ~0x0080);	//0000 0000 1000 0000
		delay_ms(100);
	 }
	 
	 return 0;
 }

07. 蜂鸣器接线图

在这里插入图片描述

08. 蜂鸣器程序示例

main.c

#include "stm32f10x.h"

#include "delay.h"



 int main(void)
 {	
	 GPIO_InitTypeDef GPIO_InitStruct;
	//使能GPIOB时钟
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
	 
	
	//GPIO初始化 PB12
	 GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
	 GPIO_InitStruct.GPIO_Pin = GPIO_Pin_12; //初始化所有的引脚
	 GPIO_InitStruct.GPIO_Speed = GPIO_Speed_10MHz;
	
	 GPIO_Init(GPIOB, &GPIO_InitStruct);
	 
	 while(1)
	 {

		 GPIO_SetBits(GPIOB, GPIO_Pin_12);
		 delay_ms(100);
		 
		 GPIO_ResetBits(GPIOB, GPIO_Pin_12);
		 delay_ms(100);
		 
		 GPIO_SetBits(GPIOB, GPIO_Pin_12);
		 delay_ms(100);
		 
		 GPIO_ResetBits(GPIOB, GPIO_Pin_12);
		 delay_ms(700);
	 }
	 
	 
	 return 0;
 }

09. 下载

stm32F103工程模板

01-LED闪烁.rar

02-LED流水灯.rar

03-蜂鸣器示例程序.rar

10. 附录

参考: 【STM32】江科大STM32学习笔记汇总

  • 13
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Print World

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值