当前位置: 首页 > news >正文

01:【江科大stm32】:LED闪烁/LED流水灯/蜂鸣器

1、LED闪烁程序

/*LED灯闪烁,LED正极连接电源,负极连接PA0引脚,所以输出0点亮,输出1熄灭
*/#include "stm32f10x.h"                 
#include "Delay.h"int main(void)
{//1. 使能挂载在APB2总线上面的片上外设时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//2. 对GPIO_PA0进行配置GPIO_InitTypeDef GPIOInitStruct;GPIOInitStruct.GPIO_Pin = GPIO_Pin_0;GPIOInitStruct.GPIO_Mode = GPIO_Mode_Out_OD;//输出开漏模式,0才有驱动能力GPIOInitStruct.GPIO_Speed = GPIO_Speed_2MHz;//最大输出速度GPIO_Init(GPIOA,&GPIOInitStruct);while(1){//3. 方式一:使用GPIO_WriteBit()函数
//		GPIO_WriteBit(GPIOA,GPIO_Pin_0,Bit_RESET);//点亮LED
//		Delay_ms(1000);//延迟1s
//		GPIO_WriteBit(GPIOA,GPIO_Pin_0,Bit_SET);//熄灭LED
//		Delay_ms(1000);//4. 方式二:使用GPIO_SetBits/GPIO_ResetBits
//			GPIO_ResetBits(GPIOA,GPIO_Pin_0);
//			Delay_ms(1000);
//			GPIO_SetBits(GPIOA,GPIO_Pin_0);
//			Delay_ms(1000);//5. 方式三:使用GPIO_Write()函数GPIO_Write(GPIOA, 0x0000);//一共16位,对应PA0~PA15。Delay_ms(1000);GPIO_Write(GPIOA, 0x0001);Delay_ms(1000);}
}

2、LED流水灯

/*LED灯流水灯,LED负极连接电源,正极连接PA0引脚
*/#include "stm32f10x.h"                  
#include "Delay.h"int main(void)
{uint8_t i;//1. 使能挂载在APB2总线上面的片上外设时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//2. 对GPIO_PA0进行配置GPIO_InitTypeDef GPIOInitStruct;GPIOInitStruct.GPIO_Pin = GPIO_Pin_All;//选择所有引脚,选择引脚可以按位或GPIOInitStruct.GPIO_Mode = GPIO_Mode_Out_PP;//输出推挽模式,0,1都有驱动能力,方便位运算GPIOInitStruct.GPIO_Speed = GPIO_Speed_2MHz;//最大输出速度,GPIO_Init(GPIOA,&GPIOInitStruct);while(1){//5. 方式三:使用GPIO_Write()函数uint16_t a = 0x01;//0000 0001for(i = 0;i < 8;i++){GPIO_Write(GPIOA, a);//0000 0001。一共16位,对应PA0~PA15。Delay_ms(500);a = a << 1;//左移}}
}

3、蜂鸣器的使用

/*蜂鸣器的使用,输出低电平,蜂鸣器响
*/#include "stm32f10x.h"                 
#include "Delay.h"int main(void)
{//1. 使能挂载在APB2总线上面的片上外设时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//2. 对GPIO_PA0进行配置GPIO_InitTypeDef GPIOInitStruct;GPIOInitStruct.GPIO_Pin = GPIO_Pin_0;GPIOInitStruct.GPIO_Mode = GPIO_Mode_Out_OD;//输出开漏模式,0才有驱动能力GPIOInitStruct.GPIO_Speed = GPIO_Speed_2MHz;//最大输出速度GPIO_Init(GPIOA,&GPIOInitStruct);while(1){//3. 方式一:使用GPIO_WriteBit()函数
//		GPIO_WriteBit(GPIOA,GPIO_Pin_0,Bit_RESET);//点亮LED
//		Delay_ms(1000);//延迟1s
//		GPIO_WriteBit(GPIOA,GPIO_Pin_0,Bit_SET);//熄灭LED
//		Delay_ms(1000);//4. 方式二:使用GPIO_SetBits/GPIO_ResetBits
//			GPIO_ResetBits(GPIOA,GPIO_Pin_0);
//			Delay_ms(1000);
//			GPIO_SetBits(GPIOA,GPIO_Pin_0);
//			Delay_ms(1000);//5. 方式三:使用GPIO_Write()函数GPIO_Write(GPIOA, 0x0000);//一共16位,对应PA0~PA15。Delay_ms(100);GPIO_Write(GPIOA, 0x0001);Delay_ms(100);GPIO_Write(GPIOA, 0x0000);//一共16位,对应PA0~PA15。Delay_ms(100);GPIO_Write(GPIOA, 0x0001);Delay_ms(100);GPIO_Write(GPIOA, 0x0000);//一共16位,对应PA0~PA15。Delay_ms(100);GPIO_Write(GPIOA, 0x0001);Delay_ms(700);}
}

http://www.mrgr.cn/news/7428.html

相关文章:

  • 【数据结构】栈(stack)
  • 【Oracle点滴积累】Oracle 19c安装Critical Patch Update for January 2023
  • SQL手工注入漏洞测试(PostgreSQL数据库)
  • 怎么利用住宅代理提高数据抓取效率
  • 算法-模型似然值计算
  • MapBox Android版开发 1 配置
  • 前端宝典九:React Native从入门到精通实战
  • TCP vs UDP:揭秘可靠性与效率之争
  • 【GNSS射频前端】MA2769初识
  • 5大分区管理器 - 最佳硬盘分区软件
  • 【从问题中去学习k8s】k8s中的常见面试题(夯实理论基础)(十二)
  • 微服务:配置管理和配置热更新
  • SpringBoot依赖之Spring Data Redis实现位图Bitmap
  • mac苹果电脑配置Docker最新国内源
  • Java语言程序设计——篇十七(3)
  • Hadoop入门基础(二):Hadoop集群安装与部署详解(超详细教程)
  • 计算机网络:DNS、子网掩码、网关
  • 周末总结(2024/08/24)
  • 上位机图像处理和嵌入式模块部署(linux Qt程序的编译)
  • 【算法】粒子群优化