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

STM32F103按钮实验

目录

亮灯推挽输出

电路图

代码

结果

按钮输入上拉模式

电路图

代码


亮灯推挽输出

电路图

代码

#include "stm32f10x.h"                  // Device header
#include "Delay.h"
int main(void)
{//开启时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//定义结构体GPIO_InitTypeDef GPIO_InitStruct;GPIO_InitStruct.GPIO_Pin=GPIO_Pin_0;//推挽输出GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_PP;GPIO_InitStruct.GPIO_Speed=GPIO_Speed_2MHz;//初始化GPIO_Init(GPIOA,&GPIO_InitStruct);while (1){//亮灯GPIO_WriteBit(GPIOA, GPIO_Pin_0, Bit_SET); Delay_ms(1000);//不亮灯GPIO_WriteBit(GPIOA, GPIO_Pin_0, Bit_RESET); Delay_ms(1000);}
}

结果

按钮输入上拉模式

当最右边按钮断开的时候,由于是输入上拉模式,上拉电阻闭合,Vdd导通,下面3.3V,施密特触发器将电压转为数字1,输入到数字寄存器

当最右边按钮闭合的时候,GND和施密特触发器导通,所以转为的为0输入到数字寄存器。

所以下面电路为

        按钮按下,读到的是0。按钮松开,读到的是1。

电路图

代码

#include "stm32f10x.h"                  // Device header
#include "Delay.h"
int main(void)
{//开启时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//定义结构体GPIO_InitTypeDef GPIO_InitStruct;GPIO_InitStruct.GPIO_Pin=GPIO_Pin_0;//推挽输出GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_PP;GPIO_InitStruct.GPIO_Speed=GPIO_Speed_2MHz;//初始化GPIO_Init(GPIOA,&GPIO_InitStruct);//按钮接的A1GPIO_InitStruct.GPIO_Pin=GPIO_Pin_1;GPIO_InitStruct.GPIO_Mode=GPIO_Mode_IPU;GPIO_Init(GPIOA,&GPIO_InitStruct);while (1){if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_1)==Bit_RESET)		GPIO_WriteBit(GPIOA, GPIO_Pin_0, Bit_SET); elseGPIO_WriteBit(GPIOA, GPIO_Pin_0, Bit_RESET); 		}
}

http://www.xdnf.cn/news/1441009.html

相关文章:

  • Redis基础篇
  • 新后端漏洞(上)- Redis 4.x5.x 未授权访问漏洞
  • COB封装固晶载具/IC芯片固晶载具核心功能与核心要求
  • 《明朝那些事》读书笔记-王阳明:「知行合一」
  • Prometheus 配置主机宕机告警
  • 同城跑腿系统 跑腿小程序app java源码 跑腿软件项目运营
  • 存算一体:重构AI计算的革命性技术(2)
  • “互联网 +”时代商业生态变革:以开源 AI 智能名片链动 2+1 模式 S2B2C 商城小程序为例
  • 小程序点击之数据绑定
  • 深度学习三大框架对比评测:PaddlePaddle、PyTorch 与 TensorFlow
  • 从零开始的python学习——列表
  • OpenCV的阈值处理
  • 华为云Stack Deploy安装(VMware workstation物理部署)
  • LabVIEW信号频谱分析与限测系统
  • 190页经典PPT | 某科技集团数字化转型SAP解决方案
  • 开源 + 免费!谷歌推出 Gemini CLI,Claude Code 的强劲对手
  • Java设计模式之结构型—代理模式
  • leetcode算法刷题的第二十五天
  • Python:AI开发第一语言的全面剖析
  • Springboot3+SpringSecurity6Oauth2+vue3前后端分离认证授权-客户端
  • 【机器学习入门】5.4 线性回归模型的应用——从CO₂浓度预测学透实战全流程
  • 远程的 develop 比你本地的 develop 更新,Git 拒绝直接覆盖
  • 【55页PPT】旧QC七大手法培训精选讲义(附下载方式)
  • 深入解析Flowable工作流引擎:从原理到实践
  • 2 XSS
  • 深入掌握sed:Linux文本处理的流式编辑器利器
  • PHP如何解决使用国密SM4解密Base64数据错误问题?(基于lpilp/guomi)
  • 协议分析基础
  • 以技术共享点燃全球能源变革新引擎的智慧能源开源了
  • 低代码革命遇瓶颈?这个“套娃神技“才是破局关键!