STM32F103ZET6【HAL函开发】STM32CUBEMX------1.GPIO输出-点亮led灯

2023-10-26

一、硬件介绍

正点原子战舰开发板,主控芯片STM32F103ZET6
两个LED分别连接到单片机的PB5和PE5
在这里插入图片描述

二、STM32CUBEMX基础配置

2.1 晶振配置

如果你的板子上外部高速晶振8M和外部低速晶振32.768K都有的话,那么就在RCC-HSE/LSE后面选择Cyrystal/Ceramic Resonator在这里插入图片描述

2.2 下载口配置

程序下载方式建议用SW下载,比较节省IO口,除开VCC和GND,只需要两个线。
分别是PA13-SWDIO和PA14-SWCLK
在这里插入图片描述

2.3 配置时钟

STM32F103时钟最大到72MHZ,可以直接按最大时钟频率配置,注意如果显示红色,说明配置有问题,需要自行调整数值,直到没有红色提示为止
在这里插入图片描述

三、STM32CUBEMX外设配置

点亮LED需要将GPIO配置为输出模式
在这里插入图片描述

四、生成工程

上面配置以及完成,直接生成代码,然后下载到单片机即可。生成代码方法如下
1.在Project中配置项目名,项目存放位置,开发工具名称等,但要注意项目名和路径不能有中文。
2.在Code Generator中配置代码中的一些规定
3.点击GENERATE CODE生成代码到项目文件夹中
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

五、keil里面的设置

1.点击魔术棒,在Debug里面选择下载线,一般是J-LINK和ST-Link比较多。
2.在Settings-Debug中选择下载模式为SW
3.在Flash-Download中将Reset and Run勾选上,默认是不勾选的,这样可以程序下载进去就开始运行,否则每次都要复位一次程序才运行。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

六、观察现象

程序下载前
程序下载后

如果想要让一个灯亮,一个灯灭,只需要重新在STM32CUBEMX中配置高低电平,然后重新生成代码,下载到开发板即可~

也可以自己在代码中做修改,我们知道在这个硬件设计里面想要让led灯亮就是让电平为低;想要让led灭就让电平为高。

  /* USER CODE BEGIN 2 */
	HAL_GPIO_WritePin(GPIOB,GPIO_PIN_5,GPIO_PIN_SET);//PB5设置为高电平,即LED0灭
	HAL_GPIO_WritePin(GPIOE,GPIO_PIN_5,GPIO_PIN_RESET);//PE5设置为低电平,即LED1亮
  /* USER CODE END 2 */

11

PS:常用的GPIO输出的HAL库函数

HAL_GPIO_WritePin(GPIOA, GPIO_PIN_0,GPIO_PIN_RESET)//输出低电平
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_0,GPIO_PIN_SET)//输出高电平
HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_0);//电平翻转
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

STM32F103ZET6【HAL函开发】STM32CUBEMX------1.GPIO输出-点亮led灯 的相关文章

随机推荐

  • Debugger problem "The breakpoint will not currently be hit. No symbols have been loaded for this doc...

    网上收集到的相关解决办法 1st Start debugging Now select Debug gt Windows gt Modules In the modules window taht now appears check wha
  • 解决Windows缺少d3dcompiler_37.dll文件

    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题 如果是新手第一时间会认为是软件或游戏出错了 其实并不是这样 其主要原因就是你电脑系统的该dll文件丢失了或者损坏了 这时你只需下载这个d3dcompiler 37 dll文件进行安装
  • VSCode选择远程服务器的虚拟环境

    方式一 选择服务器虚拟环境conda Ctrl Shift P 选择需要使用的虚拟环境即可 方式二 选择Terminal 点击 通过命令行切换即可 参考 Work on Python in VSCode remotely over ssh
  • 不就是G2O嘛

    从零开始一起学习SLAM 理解图优化 一步步带你看懂g2o代码 SLAM的后端一般分为两种处理方法 一种是以扩展卡尔曼滤波 EKF 为代表的滤波方法 一种是以图优化为代表的非线性优化方法 不过 目前SLAM研究的主流热点几乎都是基于图优化的
  • jmeter压测实战包括cpu性能检测

    1 录制测试计划 1 打开jmeter 创建测试计划 线程组 sampler HTTP请求 监听器 查看结果树 聚合报告 2 服务器参数端口做了个参数化管理 3 对于请求数据也做一个参数化管理 4 最后运用参数化思想传参 HTTP请求 填写
  • Java程序设计——注解(Java高级应用)

    目录 一 基本注解 1 Override注解 2 Deprecated注解 3 SuppressWarnings注解 4 SafeVarargs注解 5 FunctionalInterface注解 二 定义注解 三 使用注解 四 元注解 1
  • 简单的实现页面点击切换(非路由方式)

    html import React Component from react class index extends Component constructor props super props this state curr zero
  • org.springframework.cloud:spring-cloud-starter-eureka :unknown 报错解决;

    Spring Cloud Eureka是对Netflix Eureka的二次封装 Eureka服务端 Eureka就是注册中心 同时它也是一个客户端 Eureka server Eureka服务端 同是也是Eureka Client Eur
  • CSS技巧

    CSS技巧 背景图片居中 background size cover 图片可能会被拉伸 background position center 图片尺寸不变 只是移动至正中间 button的边框 一般浏览器会给button默认边框 borde
  • 网页上ajax异步加载数据,网页的异步请求(Ajax)

    JS原生Ajax操作 XMLHttpRequest GET请求 var xmld new XMLHttpRequest xmld open GET wan php dd1 dong11 dd2 dong22 打开页面 xmld setReq
  • 如何成为优秀的管理者?(摘自《代码之道》第9章)

    婚礼 旅行和管理者之间有什么共同之处吗 跟任何一个成年人谈论这些话题 你肯定会听到一个可怕的故事 在婚礼上 那是关于喝醉的客人 糟糕的天气或者不合时宜的失言 在旅行过程中 那是关于丢失的行李 混乱的乘客或者慌乱的转机 至于管理者 那是关于你
  • Redis缓存击穿、雪崩、穿透!(超详细)

    缓存的击穿 穿透和雪崩应该是再熟悉不过的词了 也是面试常问的高频试题 不过 对于这三大缓存的问题 有很多人背过了解决方案 却少有人能把思路给理清的 而且 网络上仍然充斥着 大量不太靠谱的解决方案 难免误人子弟 我的这篇文章 则会对这三大缓存
  • mobaxterm的linux安装教程,MobaXterm详尽使用教程系列一

    常用SSH客户端介绍 SSH 为 Secure Shell 的简写 是目前较可靠 专为远程登入会话和其他网路服务提供安全性的合同 利用 SSH 协议可以有效避免远程管理过程中的信息泄漏问题 我们做估算的人 每天都须要与linux服务器打交道
  • html元素data属性设置变量,在VUE style中运用data中的变量的要领详解_WEB前端开发...

    近来项目中的大众组件 在复用的时刻 针对差别的场景 须要不停变动CSS里款式的值 而且已经有了全局的大众组件款式了 假如用vue传统的动态绑定class和style的体式格局去修正款式 文末会提到 须要分外写许多变量和模块class 那假如
  • k8s基本问题排查

    排查pod故障 查看pod是否正常 kubectl get pods n fronted 常见pod排查命令 kubectl logs
  • Docker

    目录 1 离线安装 1 1 下载Docker离线包 1 2 下载离线安装工具 1 3 安装 1 4 镜像加速 1 4 1 下面命令直接生成文件 daemon json 1 4 2 重新加载docker配置 1 4 3 重启docker服务
  • Android Animation.setAnimationListener()失效问题

    Android执行动画 使用Animation情景如下 Animation animation new Animation 如果需要监听动画执行 animation setAnimationListener 需要在 view startAn
  • Conda错误:Collecting package metadata (current_repodata.json): failed

    conda新安装设置清华源后发现并没有使用 且会出现错误 Collecting package metadata current repodata json failed 换了科大源也没成功 考虑可能是默认源的问题 删除 condarc文件
  • TCP/IP详解学习笔记(4)-ICMP协议,ping和Traceroute

    1 IMCP协议介绍 前面讲到了 IP协议并不是一个可靠的协议 它不保证数据被送达 那么 自然的 保证数据送达的工作应该由其他的模块来完成 其中一个重要的模块就是ICMP 网络控制报文 协议 当传送IP数据包发生错误 比如主机不可达 路由不
  • STM32F103ZET6【HAL函开发】STM32CUBEMX------1.GPIO输出-点亮led灯

    一 硬件介绍 正点原子战舰开发板 主控芯片STM32F103ZET6 两个LED分别连接到单片机的PB5和PE5 二 STM32CUBEMX基础配置 2 1 晶振配置 如果你的板子上外部高速晶振8M和外部低速晶振32 768K都有的话 那么