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)的更多相关文章

  1. MySQL下载安装、基本配置、问题处理

    一 mysql介绍 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司.MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是 ...

  2. 二、Laravel手动下载安装及初始化配置(此处以Laravel5.2为例)

    1.下载安装Laravel5.2的几种方法 —— 一键安装包下载: —— http://www.golaravel.com/download/ —— github下载 —— https://githu ...

  3. JAVA、JDK等入门概念,下载安装JAVA并配置环境变量

    一.概念 Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言,具体介绍可查阅百度JAVA百科,这里不再赘述. Java分为三个体系,分别为: Java SE(J2SE,Java2 Platf ...

  4. window下tomcat的下载安装和环境配置

    一.下载安装tomcat 去官网:http://tomcat.apache.org/  下载自己所需要的版本,解压在没有中文的文件夹路径下. 直接打开压缩包下面,进入bin目录,双击startup.b ...

  5. burpsuite下载安装及基本配置

    jdk安装 根据电脑安装对应jdk版本 点此下载jdk 下载完成得到如下exe文件 配置Java环境变量 计算机右键-->属性-->高级系统设置-->环境变量 点击环境变量--> ...

  6. JDK8下载安装及环境配置

    Java基础知识 Java的三种版本 JavaSE :标准版,主要用于开发桌面程序,控制台开发等等 JavaME:嵌入式开发,主要用于开发手机,小家电等等,目前使用的比较少 JavaEE:企业级开发, ...

  7. my SQL下载安装,环境配置,以及密码忘记的解决,以及navicat for mysql下载,安装,测试连接

    一.下载 在百度上搜索"mysql-5.6.24-winx64下载" 二.安装 选择安装路径,我的路径“C:\Soft\mysql-5.6.24-winx64” 三.环境配置 计算 ...

  8. linux下载安装常用的配置,jdk,mysql,tomcat,redis

    1.特别强调,本教程适合于VMware Workstation创建的虚拟机linux配置. 2.ssh---linux连接的工具 https://pan.baidu.com/s/1MGIr5WOkkH ...

  9. 下载安装JDK,配置环境变量

    Hello,JDK; 在开始学习JAVA之前,第一件事情肯定是被告知:先下载JDK.就像我的一个朋友问我的一样"JDK是个什么鬼?我学的不是JAVA么,为什么要下载JDK?". J ...

随机推荐

  1. 04 C语言基本语法

    C语言的令牌 C 语言的程序代码由各种令牌组成,令牌可以是关键字.标识符.常量.字符串值,或者是一个符号.例如,下方的C语句包括5个令牌: printf("Hello, World! \n& ...

  2. spring-boot-route(十三)整合RabbitMQ

    这篇是SpringBoot整合消息队列的第一篇文章,我们详细介绍下消息队列的相关内容. 消息队列简介 1. 什么是消息队列 MQ(Message Quene):通过典型的生产者和消费者模型,生产者不断 ...

  3. 多测师讲解自动化测试 _pybot.bat批处理脚本_高级讲师肖sir

  4. PHP代码审计03之实例化任意对象漏洞

    前言 根据红日安全写的文章,学习PHP代码审计的第三节内容,题目均来自PHP SECURITY CALENDAR 2017,讲完相关知识点,会用一道CTF题目来加深巩固.之前分别学习讲解了in_arr ...

  5. 工业级wifi模块

    工业级wifi模块 工业级wifi模块ZLSN7004是上海卓岚开发的一款高性能的Wifi.以太网转串口模块.与普通的wifi模块定位在低成本不同,7004定位在高稳定性.丰富功能,设计目标是面向对功 ...

  6. day25 Pyhton学习 约束和异常处理

    一.类的约束 约束是对类的约束 有两种方法: 1.提取一个父类,在父类中给出一个方法,并且在方法中不给出任何代码,直接抛异常 class Base: def login(self): raise Ex ...

  7. 比特币PoW

    比特币区块头结构 字段 大小(Byte) 说明 nVersion 4 区块版本号,表示本区块遵守的验证规则 hashPrevBlock 32 前一区块的哈希值,使用SHA256(SHA256(父区块头 ...

  8. 单源文件目录makefile

    目录结构 由于只是用来编译简单的小型程序,所以目录尽量简洁: . ├── build │   ├── bin │   ├── .dep │   └── obj ├── makefile └── src ...

  9. elasticsearch练习

    elasticsearch练习 最近在学习elasticsearch,做了一些练习,分享下练习成果,es基于6.7.2,用kibana处理DSL,有兴趣的伙伴可以自己试试 1.简单查询练习 sourc ...

  10. XSS攻击 js 脚本注入

    原文地址:http://www.cnblogs.com/robot/archive/2009/04/15/1436107.html 1.不要相信Request.QueryString: 相信在asp时 ...