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 ...
随机推荐
- 如何查找一个为NULL的MYSQL字段
前言:在做这个题目 https://www.cnblogs.com/pipihao/p/13786304.html 因为之前 我好像没有接触过什么 为NULL字段的查询,细节不小 WHERE 字段 I ...
- IDEA中创建父子工程与maven打包Springboot聚合工程报错程序包不存在问题处理
公司新项目需使用java技术栈,便使用IDEA搭建了一个多SpringBoot项目的聚合工程,因为初次使用,遇到了很多问题,maven打包时各种报错,在网上查了好多终于解决了,为巩固记忆,特作此记录. ...
- ansible-playbook安装tomcat
1. ansible-playbook安装tomcat 1) 编写playbook的tomcat安装配置 1 [root@test-1 bin]# vim /ansible/tomcat/bin/t ...
- nginx的变量系统
本来想写一下nginx的脚本引擎的,但是看起来实在是有点庞大,一时间还不知道该从哪里写比较好.就先写一下他的变量系统吧,这是脚本引擎非常重要的组成部分. 首先为了表述清楚先规定几个术语吧 内置变量:n ...
- 实验一 HTML基本标签及文本处理
实验一 HTML基本标签及文本处理 [实验目的] 1.掌握利用因特网进行信息游览.搜索,下载网页.图片.文字和文件: 2.对给定的网站,能指出网站的链接结构.目录结构.页面布局方式: 3.掌握HTML ...
- Navicat Premium 15破解
https://pan.baidu.com/s/1bJ1BJUcL6cFd4StB5Qn_hQ 提取码:1314 拿走,不谢!!!
- python知识点整理一
1.数组元素之和 解法一 from functools import reduce list=[1,3,5,7,9,34] print(reduce(lambda x,y:x+y,list)) 解法二 ...
- 【动态规划】DP搬运工3
UPD:修了点锅(啊昨天居然写脑抽了) 题目内容 给定两个长度为 \(n\) 的序列,定义 \(magic(A,B)=\sum\limits_{i=1}^n \max(A_i,B_i)\). 现在给定 ...
- spring boot:用swagger3生成接口文档,支持全局通用参数(swagger 3.0.0 / spring boot 2.3.2)
一,什么是swagger? 1, Swagger 是一个规范和完整的文档框架, 用于生成.描述.调用和可视化 RESTful 风格的 Web 服务文档 官方网站: https://swagger.i ...
- Kettle学习笔记(一)
Kettle简介 Kettle是一款国外开源的ETL工具,纯java编写,可以在Windows.Linux.Unix上运行,s数据抽取高效稳定.Kettle 中文名称叫水壶,该项目的主程序员MATT ...