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

小白stm32入门教程学习记录:3-2 LED闪烁流水灯

新建工程步骤

GPIO函数

BUG

LED闪烁

接线

代码部分

led闪烁
#include"stm32f10x.h"// Device header#include"Delay.h"intmain(void){/*开启时钟*/RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//开启GPIOA的时钟//使用各个外设前必须开启时钟,否则对外设的操作无效/*GPIO初始化*/GPIO_InitTypeDef GPIO_InitStructure;//定义结构体变量GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;//GPIO模式,赋值为推挽输出模式GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0;//GPIO引脚,赋值为第0号引脚GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;//GPIO速度,赋值为50MHzGPIO_Init(GPIOA,&GPIO_InitStructure);//将赋值后的构体变量传递给GPIO_Init函数//函数内部会自动根据结构体的参数配置相应寄存器//实现GPIOA的初始化/*主循环,循环体内的代码会一直循环执行*/while(1){/*设置PA0引脚的高低电平,实现LED闪烁,下面展示3种方法*//*方法1:GPIO_ResetBits设置低电平,GPIO_SetBits设置高电平*/GPIO_ResetBits(GPIOA,GPIO_Pin_0);//将PA0引脚设置为低电平Delay_ms(500);//延时500msGPIO_SetBits(GPIOA,GPIO_Pin_0);//将PA0引脚设置为高电平Delay_ms(500);//延时500ms/*方法2:GPIO_WriteBit设置低/高电平,由Bit_RESET/Bit_SET指定*/GPIO_WriteBit(GPIOA,GPIO_Pin_0,Bit_RESET);//将PA0引脚设置为低电平Delay_ms(500);//延时500msGPIO_WriteBit(GPIOA,GPIO_Pin_0,Bit_SET);//将PA0引脚设置为高电平Delay_ms(500);//延时500ms/*方法3:GPIO_WriteBit设置低/高电平,由数据0/1指定,数据需要强转为BitAction类型*/GPIO_WriteBit(GPIOA,GPIO_Pin_0,(BitAction)0);//将PA0引脚设置为低电平Delay_ms(500);//延时500msGPIO_WriteBit(GPIOA,GPIO_Pin_0,(BitAction)1);//将PA0引脚设置为高电平Delay_ms(500);//延时500ms}}

led流水灯

GPIO_InitStructure.GPIO_Pin=GPIO_Pin_All;//GPIO引脚,赋值为所有引脚/*使用GPIO_Write,同时设置GPIOA所有引脚的高低电平,实现LED流水灯*/GPIO_Write(GPIOA,~0x0001);//0000 0000 0000 0001,PA0引脚为低电平,其他引脚均为高电平,注意数据有按位取反Delay_ms(100);//延时100msGPIO_Write(GPIOA,~0x0002);//0000 0000 0000 0010,PA1引脚为低电平,其他引脚均为高电平Delay_ms(100);//延时100msGPIO_Write(GPIOA,~0x0004);//0000 0000 0000 0100,PA2引脚为低电平,其他引脚均为高电平Delay_ms(100);//延时100msGPIO_Write(GPIOA,~0x0008);//0000 0000 0000 1000,PA3引脚为低电平,其他引脚均为高电平Delay_ms(100);//延时100msGPIO_Write(GPIOA,~0x0010);//0000 0000 0001 0000,PA4引脚为低电平,其他引脚均为高电平Delay_ms(100);//延时100msGPIO_Write(GPIOA,~0x0020);//0000 0000 0010 0000,PA5引脚为低电平,其他引脚均为高电平Delay_ms(100);//延时100msGPIO_Write(GPIOA,~0x0040);//0000 0000 0100 0000,PA6引脚为低电平,其他引脚均为高电平Delay_ms(100);//延时100msGPIO_Write(GPIOA,~0x0080);//0000 0000 1000 0000,PA7引脚为低电平,其他引脚均为高电平Delay_ms(100);//延时100ms
http://www.jsqmd.com/news/1078338/

相关文章:

  • 有哪些专业的匹克球拍公司可以推荐?
  • 机房运维台账怎么做才算到位
  • 终极指南:企业级远程控制平台billd-desk私有化部署全流程
  • AI培训行业变化:必火AI与传统机构对比
  • MCP服务器:AI与外部工具安全交互的协议中枢
  • 【每天认识一个国家 | 韩国】
  • 你的业务真的需要现代化改造吗?无服务器、托管服务、自建EC2,别选错了
  • 2026深度实测|两大主流AI编程工具vibe coding迭代能力全方位对比
  • 如何在老旧硬件上安装Windows 11:FlyOOBE完整技术指南与实战方案
  • 假面真贷:一场信贷伪冒申请的“全链路“围剿
  • VMware NSX入门终极私藏包:NSX Manager API调用大全+Postman集合+拓扑自动生成Python工具(限前500名领取)
  • 2026年车规芯片产业交流平台实力盘点:TOP5车规级半导体展会精选分析
  • 2026实测:高性价比AI编程工具替代方案全梳理
  • 2026亚洲EMBA客观测评:科学选型与优质项目解析
  • Windows资源管理器3D模型预览终极指南:Space Thumbnails让你的文件管理可视化
  • 办公室装修怎么省钱又高级?老板装修前一定要看
  • 2026年将至,靠谱的智能体技术究竟哪家强?速来一探究竟!
  • Bright Data Scraper Studio:AI公开文本语料采集全流程
  • 2026门店老板想用手机随时看数据?京东收银这套手机管店能力值得了解
  • 嵌入式测试学习第 43 天:变频冰箱主板嵌入式FCT整机测试
  • 2026实测:AI团队编程软件全推荐
  • YOLOv11涨点改进| ECCV 2026 |独家创新、主干改进篇| 全新PKINetV2主干让YOLOv11更加强大!增强遥感目标检测中的几何建模能力、尺度适应能力,助力目标检测、旋转目标检测涨点
  • 智能科学与技术和人工智能是不是一个专业?高考志愿填报千万别搞混!
  • OSGearth开发
  • Visual Studio 中的 Agent Skill:让 Copilot 适配团队工作模式
  • 2026好用命理软件怎么选?八字排盘App要看场景路径和功能组合
  • 正特征域上D-模的Bernstein–Sato理论:构造、根与Frobenius模
  • 鸿蒙 ArkTS 实战:Garden Care Album 从状态建模到交互闭环完整解析
  • 缓存架构深度解析:穿透、雪崩与击穿的防御体系构建
  • MADR框架:对抗性MPC引导的深度可达性学习