【可能是东半球最好的stm32入门教学】第1章 环境配置

news2024/11/16 22:23:40

在嵌入式开发中,外设的初始化往往不是重点。以往的标准库教程虽有助于理解和熟悉芯片的寄存器功能,但是对于很多初学者,在入门阶段就学习这些较难的知识反而减少了他们的学习兴趣。那么有没有一个软件可以用图形化的界面完成芯片的初始化?这就是由STM32官方出品的STM32cubeMX软件,它能让原本复杂的外设初始化操作变得简单易懂,大大降低了开发难度。本教程将详细介绍如何安装和配置 STM32 开发环境,下面就跟着我的步伐开始吧。

一、准备工作
提前下载好以下安装包:

  1. Keil MDK 官方下载
  2. STM32cubeMX 官方下载
  3. vscode 官方下载

因为这些软件的下载服务器在国外,国内下载时速度很慢。
推荐关注我的公众号【空集合】,回复【stm32】获取所有需要的软件高速下载链接,而且会同步官网更新版本。
同时回复【交流群】可获取入群信息,群内有众多嵌入式小伙伴可以交流探讨技术问题。

二、安装 Keil MDK
Keil MDK 是一款功能强大的集成开发环境(IDE),适用于 ARM 处理器。下面是安装步骤:
推荐看这个教程

三、安装 STM32CubeMX
STM32CubeMX 是一款用于配置 STM32 微控制器的图形化工具,能生成初始化代码。
下载网盘里的文件后正常安装即可。

四、安装vscode
Keil的优势在于强大的编译和调试功能,但是在编辑代码时,糟糕的体验让人很难相信他是2024年的产品。包括代码经常无法补全,缺少常见快捷键操作,难用的代码跳转功能等等。
恰好vscode作为一款编辑器他的优势整合能弥补Keil的不足。
所有我们可以安装vscode,然后安装“Keill Assistant”插件,就能够在vscode中编辑和编译工程代码了,编程体验相比于keil有了很大的提升。

安装完成vscode后,在插件商店中搜索“Keill Assistant” Keil插件
安装完成后能够看到侧边栏多了一行
在这里插入图片描述
同时为了能够补全C语言代码,我们还需要安装以下插件:
C语言插件
下节课教大家如何利用STM32cubeMX不写一行代码完成外设初始化,以及如何在vscode中编辑keil工程。我们下期再见!
有任何疑问欢迎关注公众号【空集合】,回复【交流群】来找到我们,帮助你解答遇到的问题!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1693095.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++高效死锁检测——实现原理与应用(基于强连通分量)

背景 在项目使用多进程、多线程过程中,因争夺资源而造成一种资源竞态,所以需加锁处理。如下图所示,线程 A 想获取线程 B 的锁,线程 B 想获取线程 C 的锁,线程 C 想获取线程 D 的锁, 线程 D 想获取线程 A 的…

Redis优化笔记

Redis优化 一:Key: 1.1.Key的规范: 测试如下: 1.2.拒绝BigKey: 我们可以用: MEMORY USAGE name命令来看它的大小。 注意,这里的第二种之所以不使用Keys *,因为在实际生产时&#…

Python | Leetcode Python题解之第101题对称二叉树

题目: 题解: class Solution:# 在【100. 相同的树】的基础上稍加改动def isSameTree(self, p: Optional[TreeNode], q: Optional[TreeNode]) -> bool:if p is None or q is None:return p is qreturn p.val q.val and self.isSameTree(p.left, q.ri…

深度学习中的优化算法二(Pytorch 19)

一 梯度下降 尽管梯度下降(gradient descent)很少直接用于深度学习,但了解它是理解下一节 随机梯度下降算法 的关键。例如,由于学习率过大,优化问题可能会发散,这种现象早已在梯度下降中出现。同样地&…

Spark-RDD-常用算子(方法)详解

Spark概述 Spark-RDD概述 Spark RDD 提供了丰富的方法来对数据进行转换和操作。 对 RDD(Resilient Distributed Dataset)的操作可以分为两大类:转换算子(Transformations)和行动算子(Actions)…

Tower在深度学习中的概念,tower没有确切定义

在论文UniTS中,来自Havard的工作。 tower更像是针对一个task的组件 tower这个概念貌似在REC(recommendation)推荐系统中使用较多 deep learning - What is a tower? - Data Science Stack Exchange https://developers.google.com/machin…

C语言数据结构栈的概念及结构、栈的实现、栈的初始化、销毁栈、入栈、出栈、检查是否为空、获取栈顶元素、获取有效元素个数等的介绍

文章目录 前言栈的概念及结构栈的实现一、 栈结构创建二、 初始化结构三、销毁栈四、入栈五、出栈六、检查是否为空七、获取栈顶元素八、获取有效元素的个数九、测试 1十、测试 2总结 前言 C语言数据结构栈的概念及结构、栈的实现、栈的初始化、销毁栈、入栈、出栈、检查是否为…

查找专利渠道

官方渠道 常规检索 (cnipa.gov.cn)https://pss-system.cponline.cnipa.gov.cn/conventionalSearch 佰腾网 佰腾网 - 查专利就上佰腾网_佰腾全球专利搜索平台_商标查询平台_企业工商信息查询平台 (baiten.cn)https://www.baiten.cn/

从0开始实现一个博客系统 (SSM 实现)

相关技术 Spring Spring Boot Spring MVC MyBatis Html Css JS pom 文件我就不放出来了, 之前用的 jdk8 做的, MySQL 用的 5.7, 都有点老了, 你们自己看着配版本就好 实现功能 用户注册 - 密码加盐加密 (md5 加密)前后端用户信息存储 - 令牌技术用户登录 - (使用 拦截…

c++(三)

C(三) staticc语言的staticc中的staticstatic修饰的成员变量static 修饰成员函数 constc语言cconst修饰成员变量const修饰的成员函数const修饰的类对象 mutable友元普通函数作为友元类的成员函数作为友元友元类 static c语言的static C语言中static的作…

【test】Windows11下通过sshfs挂载远程服务器目录

下载安装下面三个软件: sshfs-win:https://github.com/billziss-gh/sshfs-win/releases winfsp:https://github.com/billziss-gh/winfsp/releases SSHFS-Win Manager:https://github.com/evsar3/sshfs-win-manager/releases 安装…

增强ev代码签名证书2300

代码签名证书是软件开发者们确保软件完整性和安全性的重要工具之一。在各种类型的代码签名证书中,增强EV代码签名证书拥有许多独特的功能而受到企业开发者的欢迎,今天就随SSL盾小编了解增强EV代码签名证书的申请条件以及申请流程。 1.增强型EV代码签名证…

Linux——Dockerfile

在这里我们来整理一下docker容器、dockerfile、docker镜像的关系: dockerfile是面向开发的,发布项目做镜像的时候就要编写dockerfile文件。 dockerfile:构建文件,定义了一切的步骤,源代码。 dockerImanges&#xff1a…

【AI绘画Stable Diffusion】单人LoRA模型训练,打造你的专属模型,新手入门宝典请收藏!

大家好,我是灵魂画师向阳 本期我将教大家如何进行LoRA模型训练,打造你的专属模型,内容比较干,还请耐心看完! 随着AIGC的发展,许多传统工作岗位正逐渐被AI取代。同时,AI变革也在创造前所未有的…

STM32 学习——1. STM32最小系统

这是一个最小系统的测试,LED灯会进行闪烁。选用PC13口,因为STM32F103C8T6 硬件开发板中,这个端口是一个LED 1. proteus8.15 原理图 2. cubemx 新建工程 3. keil 代码 while (1){HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin);HAL_Delay(100);…

《计算机网络微课堂》1-3 三种交换方式

本节课我们介绍三种交换方式,分别是电路交换(Circuit Switching),分组交换(Packet Switching)以及报文(Message Switching)交换。 我们首先来看电路交换,在电话问世后不…

探索未来,与移动云共舞

探索未来,与移动云共舞 在数字化飞速发展的今天,云计算已经成为企业、政府乃至个人用户不可或缺的一部分。而在众多云服务提供商中,移动云凭借其独特的优势,为用户带来前所未有的体验。接下来,让我们一起走进移动云的世…

Python--List列表

list列表⭐⭐ 1高级数据类型 Python中的数据类型可以分为:数字型(基本数据类型)和非数字型(高级数据类型) ●数字型包含:整型int、浮点型float、布尔型bool、复数型complex ●非数字型包含:字符…

Python实现数据可视化效果图总结

一、JSON格式 JSON是一种轻量级的数据交互格式。可以按照JSON指定的格式去组织和封装数据。 JSON本质上是一个带有特定格式的字符串 Json格式 JSON数据格式在Python中可以是字典、又可以是列表中嵌套着字典的格式。 Pyhton数据和Json数据相互转化 二、pyecharts模块 如果想…

SpringMVC接收请求参数的方式:

接收简单变量的请求参数 直接使用简单变量作为形参进行接收(这里简单变量名称需要与接收的参数名称保持一致,否则需要加上RequestParam注解): 细节: 1:SpringMVC会针对常见类型(八种基本类型及…