本文主要是针对想了解STM32,手里又没有太多预算的小伙伴。市场上针对新手来说,比较合适的STM32开发版太贵,比如正点原子、树莓派等,便宜的教程又不详细,这对想白嫖的小伙伴来说不太有好,所以我选了一块比较便宜的开发板进行入手,希望能帮助到想学习STM32的小伙伴

一、STM32简介

STM32是意法半导体(ST)推出一款32位的单片机,STM32具有超低的价格、超多的外设、丰富的型号、优异的实时性、极低的开发成本等优势。芯片的架构图:

二、STM32名称



三、购买产品

  1. 购买STM32学习板

    我购买的是STM32F103C8T6小系统-学习板,可以看出这里的购买价格比正点原子的相对便宜很多,比较适合手里预算少的小伙伴。淘宝购买链接:https://detail.tmall.com/item.htm?id=535614102774&spm=a1z0k.7385961.1997985097.d4918997.2fde1e80mBj9tg&_u=t2dmg8j26111&skuId=4548614175735

  2. 购买USB转TTL模块

    购买链接:https://detail.tmall.com/item.htm?spm=a1z10.3-b.w4011-21581912015.85.26165535pE4DMP&id=524792233794&rn=aaac8cf1949069ed9b7094c05e802f32&abbucket=14

四、资料准备

购买产品后,在产品详情中可以找到资料下载的链接,下载链接是:https://pan.baidu.com/s/1NMEVWE-ccwmQm4NRXVAojg,提取码是:8b6m





资料下载完成后解压小系统学习板,目录如图所示:

五、下载程序

  1. 在“串口下载教程中”打开"mcuisp.exe"文件

  2. 将跳线帽链接成程序下载(ISP)模式。

    BOOT0 BOOT1 模式
    0 x FLASH
    1 1 SRAM
    1 0 ISP
  3. 连接下载线

  • 将TTL的TX与STM32的PA10连接,Tx —— PA10
  • 将TTL的Rx与STM32的PA9连接,Rx —— PA9
  • 将TTL的GND与STM32的GND连接,GND —— GND
  1. 选择串口并设置波特率

  2. 选择下载程序

    由于厂商提供的程序用已经编译生成了hex文件,所以这里直接选择需要下载的程序就行了

  3. 下载程序



    出现上图现象后按一下复位键即可进入下载,下载完成后如图所示:

六、更改程序测试

到这里已经已经完成了程序的下载,接下来即可更改程序并观察现象,

  1. 安装Keil软件

    这里我就不再次安装了,请参考KEIL5的安装

  2. 如果安装了Keil软件的小伙伴只需要双击.uvprojx项目文件即可打开

  3. 更改LED灯的熄灭时间,观察现象

  • 到此STM32的入门基本完成,想进一步学习请浏览后面的文章

参考文献

STM32新手入门教程:https://blog.csdn.net/xiaoshihd/article/details/110039281

KEIL5的安装:https://www.cnblogs.com/h1019384803/p/9978731.html

STM32零基础入门教程的更多相关文章

  1. WordPress安装:零基础入门教程

    WordPress安装:零基础入门教程 1主机空间要求要运行 WordPress,主机空间需满足以下条件.不过现在网络上的空间基本都可以,而且还让你随意定制Php和Mysql版本,至于空间和数据库大小 ...

  2. Python运算符 - Python零基础入门教程

    目录 一.算术运算符 二.赋值运算符 三.比较运算符 四.运算符的优先等级 五.重点总结 六.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Python ...

  3. Python break/continue - Python零基础入门教程

    目录 一.break 二.continue 三.重点总结 四.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 在 Python wh ...

  4. Python for循环 - Python零基础入门教程

    目录 一.for 循环语法 二.for 循环实战 三.重点总结 四.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 在 Python ...

  5. 单片机stm32零基础入门之--初识STM32 标准库

    CMSIS 标准及库层次关系 因为基于Cortex 系列芯片采用的内核都是相同的,区别主要为核外的片上外设的差异,这些差异却导致软件在同内核,不同外设的芯片上移植困难.为了解决不同的芯片厂商生产的Co ...

  6. PS零基础入门教程--裁剪工具用法

    我是IT轩,分享一下我使用PS的一些用法,希望对大家有帮助!欢迎关注微信公众号:笑林新记 PS版本:PS CC 2019 主要技术:裁剪工具. 裁剪工具主要有:裁剪工具.透视裁剪工具.切片工具和切片选 ...

  7. Apache Flink 零基础入门(转)

    这是一份很好的 Apache Flink 零基础入门教程. Apache Flink 零基础入门(一&二):基础概念解析 Apache Flink 零基础入门(三):开发环境搭建和应用的配置. ...

  8. 【Python教程】《零基础入门学习Python》(小甲鱼)

    [Python教程]<零基础入门学习Python>(小甲鱼) 讲解通俗易懂,诙谐. 哈哈哈. https://www.bilibili.com/video/av27789609

  9. 【JAVA零基础入门系列】Day5 Java中的运算符

    运算符,顾名思义就是用于运算的符号,比如最简单的+-*/,这些运算符可以用来进行数学运算,举个最简单的栗子: 已知长方形的长为3cm,高为4cm,求长方形的面积. 好,我们先新建一个项目,命名为Rec ...

随机推荐

  1. SpringAOP浅析

    1.问题 问题:想要添加日志记录.性能监控.安全监测 2.最初解决方案 2.1.最初解决方案 缺点:太多重复代码,且紧耦合 2.2.抽象类进行共性设计,子类进行个性设计,此处不讲解,缺点一荣俱荣,一损 ...

  2. entfrm-app赋能entfrm零代码开发平台 开启多平台分发

    entfrm-app是基于uni-app 框架.使用 Vue.js 语法开发的移动端 App开源产品.它可以编译为 H5.IOS App.Android App.微信小程序.QQ小程序.钉钉小程序.支 ...

  3. MyBatis中关于大于,小于写法

    第一种写法(1): 原符号 < <= > >= & ' " 替换符号 < <= > >= & &apos; " ...

  4. RabbitMQ,RocketMQ,Kafka 几种消息队列的对比

    常用的几款消息队列的对比 前言 RabbitMQ 优点 缺点 RocketMQ 优点 缺点 Kafka 优点 缺点 如何选择合适的消息队列 参考 常用的几款消息队列的对比 前言 消息队列的作用: 1. ...

  5. 【HarmonyOS】【DevEco Studio】NOTE02 :Create a  “Hello World ”Application

    Author:萌狼蓝天 StudyTime:2021/12/06 Version:3.0 Beta1 包结构 src | --> resource 资源文件目录 | --> layout/ ...

  6. Jenkins监控

    目录 一.Monitoring插件 二.Prometheus监控 一.Monitoring插件 Monitoring插件(monitoring)使用JavaMelody,对Jenkins进行监控.插件 ...

  7. vue3官网介绍,安装,创建一个vue实例

    前言:这一章主要是vue的介绍.安装.以及如何创建一个vue实例. 一.vue介绍 vue3中文官网:建议先自己看官网. https://v3.cn.vuejs.org/ vue是渐进式框架,渐进式指 ...

  8. 小迪安全 Web安全 基础入门 - 第三天 - 抓包&封包&协议&APP&小程序&PC应用&WEB应用

    一.抓包工具 1.Fiddler.Fiddler是一个用于HTTP调试的代理服务器应用程序,能捕获HTTP和HTTPS流量,并将其记录下来供用户查看.它通过使用自签名证书实现中间人攻击来进行日志记录. ...

  9. CF355B Vasya and Public Transport 题解

    Content 小 \(A\) 要乘坐交通工具,其中公交车的辆数是 \(n\),第 \(i\) 辆公交车的编号为 \(i\),乘坐次数为 \(a_i\):手推车的辆数是 \(m\),每辆手推车的编号为 ...

  10. java 输入输出IO流:标准输入/输出System.in;System.out;System.err;【重定向输入System.setIn(FileinputStream);输出System.setOut(printStream);】

    Java的标准输入输出分别通过System.in和System.out来代表的,在默认情况下它分别代表键盘和显示器,当程序通过System.in来获取输入时,实际上是从键盘读取输入 当程序试图通过 S ...