STM32CubeIDE下载安装-GPIO基本配置操作-Debug调试(基于CMSIS DAP Debug)
1、在ST官网下载STM32CubeIDE而不是STM32CubeMX,并且STM32CubeIDE是免费的。(STM32CubeIDE不支持中文路径,不然编译会出错)
2、如果你用的是keil开发环境那么 STM32CubeIDE =(STM32CubeMX + Keil)STM32CubeMX只是一个配置代码生成器
3、STM32CubeIDE 软件下载链接:https://www.st.com/zh/development-tools/stm32cubeide.html#tools-software
4、STM32CubeMX 软件下载链接:https://www.st.com/zh/development-tools/stm32cubemx.html
5、下载完成后开始安装,可以修改安装路径,其余全部按照默认即可(本次只安装 STM32CubeIDE )



6、安装完成后打开软件,设置自己的工作环境路径,点击Launch(路径不能有中文,有中文会编译错误)


7、点击 Start new STM32 project 创建一个新的工程项目,输入硬件上对应的芯片型号,点击Next,输入工程名称 BASIC_GPIO,点击Next 弹出对话框,点击Yes。



8、创建完成之后,以下界面就是创建的新工程

9、开始配置工程参数:1)配置SYS调试方式,2)配置系统时钟RCC,3)配置GPIO端口
10、配置调试方式(debug方式根据自己的硬件选择合适的选项,本次使用的是CMSIS DAP debug ,用的是野火指南者开发板选择 JTAG ( 5 pins )

11、配置系统时钟RCC(采用外部晶振8MHz,最高主频为72MHz)


12、配置GPIO端口(本次硬件为野火指南者)以LED灯为例,硬件电路图如下

13、可以对每一个GPIO参数进行修改(在图上对着对应引脚鼠标左右点击可以配置,具体操作自己多点几下就明白了)

14、因为配置了GPIO外设端口,在以下位置修改生成对应的H文件和C文件

15、点击保存会弹出是否生成代码,点击是生成响应的代码,在以下位置可以看到生成代码

16、在位置1处右击鼠标选择 Build Project 编译工程项目程序,可以看到编译后的代码情况

17、现在开始编写代码控制LED灯的状态(本次使用的是HAL库 <<HAL一般指硬件抽象层。硬件抽象层是位于操作系统 内核与硬件电路之间的接口层,其目的在于将硬件抽象化。它隐藏了特定平台的硬件接口细节,为操作系统提供虚拟硬件平台,使其具有硬件无关性,可在多种平台上进行移植>> )
18、GPIO用的是HAL库,大部分函数都是以HAL开头的,在main程序中编写以下代码,并编译:(编辑代码的时候可以用代码补全功能快捷键: ALT+/ )添加的代码一定要在/* USER CODE BEGIN */和/* USER CODE END */之间,不然保存或者编译会把代码删除掉。

19、编译通过,开始调试程序:通过软件调试来查看Debug_num值的变化,和GPIO寄存器值的变化
20、在位置1(参看上边第15步)右击鼠标->Debug As -> STM32 Cortex-M C/C++ Application
21、由于本次使用的是CMSIS DAP Debug(秉火D普通DAP仿真器)STM32CubeIDE默认不支持DAP的,但是通过ST-Link(OpenOCD间接支持),重点::::::《选择连接到远程GDB服务器端口》

22、配置完成之后,显示没有没有ST-link

22、出现错误显示没有ST-Link,是电脑没有安装相应的驱动
23、安装ST-LinkOCD驱动,下载链接:https://gnutoolchains.com/arm-eabi/openocd/ 下载完成后解压打开文件夹

24、在空白处按住Shift键右击鼠标打开PowerShell窗口,以下命令按回车:./openocd -f interface/cmsis-dap.cfg -f target/stm32f1x.cfg 如果不成功多试几次,在执行前最好把单片机和电脑都连接好。

25、回到STM32CubeIDE中,重新编译程序,点击瓢虫的那个按钮,到以下界面

26、根据LED灯的接口查看对应的GPIO端口的ODR寄存器,可以看到数值的变化,同时观察开发板的LED灯状态。

27、单击全速运行按钮,查看开发板LED灯闪烁状态。

28、由于本次初始化的时候默认设置端口是低电平,也就是灯默认是亮的状态,所以在LED_BLUUE闪烁的时候另外另个灯常亮,如何修改GPIO端口默认输出的是高电平还是低电平,可以在以下位置修改。

STM32CubeIDE下载安装-GPIO基本配置操作-Debug调试(基于CMSIS DAP Debug)的更多相关文章
- MySQL下载安装、基本配置、问题处理
一 mysql介绍 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司.MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是 ...
- 二、Laravel手动下载安装及初始化配置(此处以Laravel5.2为例)
1.下载安装Laravel5.2的几种方法 —— 一键安装包下载: —— http://www.golaravel.com/download/ —— github下载 —— https://githu ...
- JAVA、JDK等入门概念,下载安装JAVA并配置环境变量
一.概念 Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言,具体介绍可查阅百度JAVA百科,这里不再赘述. Java分为三个体系,分别为: Java SE(J2SE,Java2 Platf ...
- window下tomcat的下载安装和环境配置
一.下载安装tomcat 去官网:http://tomcat.apache.org/ 下载自己所需要的版本,解压在没有中文的文件夹路径下. 直接打开压缩包下面,进入bin目录,双击startup.b ...
- burpsuite下载安装及基本配置
jdk安装 根据电脑安装对应jdk版本 点此下载jdk 下载完成得到如下exe文件 配置Java环境变量 计算机右键-->属性-->高级系统设置-->环境变量 点击环境变量--> ...
- JDK8下载安装及环境配置
Java基础知识 Java的三种版本 JavaSE :标准版,主要用于开发桌面程序,控制台开发等等 JavaME:嵌入式开发,主要用于开发手机,小家电等等,目前使用的比较少 JavaEE:企业级开发, ...
- my SQL下载安装,环境配置,以及密码忘记的解决,以及navicat for mysql下载,安装,测试连接
一.下载 在百度上搜索"mysql-5.6.24-winx64下载" 二.安装 选择安装路径,我的路径“C:\Soft\mysql-5.6.24-winx64” 三.环境配置 计算 ...
- linux下载安装常用的配置,jdk,mysql,tomcat,redis
1.特别强调,本教程适合于VMware Workstation创建的虚拟机linux配置. 2.ssh---linux连接的工具 https://pan.baidu.com/s/1MGIr5WOkkH ...
- 下载安装JDK,配置环境变量
Hello,JDK; 在开始学习JAVA之前,第一件事情肯定是被告知:先下载JDK.就像我的一个朋友问我的一样"JDK是个什么鬼?我学的不是JAVA么,为什么要下载JDK?". J ...
随机推荐
- P3431 [POI2005]AUT-The Bus
Link 简化题意: 给你一张网格图,每个点有其对应的权值,让你找出来一条横纵坐标都单调不降的路径,并最大化经过点的权值. 分析: 这是经典的二维数点或者二维偏序问题. 如果两维一直在变的话,我们不是 ...
- ActiveMQ详细入门教程系列(一)
一.什么是消息中间件 两个系统或两个客户端之间进行消息传送,利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成.通过提供消息传递和消息排队模型,它可以在分布式环境下 ...
- 第五周:面向对象部分内容总结(5)---java设计规则
面向对象设计原则 1.开闭原则 开闭原则理解: 简单说就是一个软件实体支持扩展,不支持修改.就是在不改变源码的基础上,扩展其它的功能. 其实笔者认为,开闭原则无非就是想表达这样一层意思:用抽象构建框架 ...
- php-fpm 的各种启动方式
启动 php-fpm 最简单的操作: /usr/local/php/sbin/php-fpm php 5.3.3 以后的php-fpm 不再支持 php-fpm 以前具有的 /usr/local/ph ...
- .NET Standard 来日苦短去日长
作者:Richard 翻译:精致码农-王亮 原文:http://dwz.win/Q4h 自从 .NET 5 宣贯以来,很多人都在问这对 .NET Standard 意味着什么,它是否仍然重要.在这篇文 ...
- 使用git 版本控制的代码在线修调试,如何还原
在线调试: 先切换成www用户进入项目的根目录比如/data/wwwroot/website su www cd /data/wwwroot/website vi ./api/controllers/ ...
- 9.Android-读写SD卡案例
1.效果如下所示: 2.读写SD卡时,需要给APP添加读写外部存储设备权限,修改AndroidManifest.xml,添加: <uses-permission android:name=&qu ...
- 修改LiveChart的提示显示位置
问题:修改LiveChart的提示显示位置 摘要:相信WPF开发者在用LiveCharts的时候会有遇到这个需求.就是产品要求折线图的提示要显示的正常点. 需求:如下图所示.原本显示是在下方并且没有小 ...
- Nuxt+Vue聊天室|nuxt仿微信App界面|nuxt.js聊天实例
一.项目简述 nuxt-chatroom 基于Nuxt.js+Vue.js+Vuex+Vant+VPopup等技术构建开发的仿微信|探探App界面社交聊天室项目.实现了卡片式翻牌滑动.消息发送/emo ...
- php生成器 yield 转
一.yield介绍 文档介绍说道:生成器函数的核心是yield关键字.它最简单的调用形式看起来像一个return申明,不同之处在于普通return会返回值并终止函数的执行,而yield会返回一个值给 ...