stm32相关知识_STM32单片机介绍

stm32相关知识_STM32单片机介绍本次教程主要介绍:HAL库配合CUBEMX配置一些常用外设的初始化,直观感受STM32编程,用最短时间入门STM32。

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

1. STM32那些事儿

STM32系列专为要求高性能、低成本、低功耗的嵌入式应用设计的ARM Cortex®-M0,M0+,M3, M4和M7内核,按内核架构分为不同产品:主流产品(STM32F0、STM32F1、STM32F3)、超低功耗产品(STM32L0、STM32L1、STM32L4、STM32L4+)、高性能产品(STM32F2、STM32F4、STM32F7、STM32H7)。

命名规则:
STM32型号的说明:以STM32F103RBT6这个型号的芯片为例,该型号的组成为7个部分,其命名规则如下:
在这里插入图片描述

以上参考自百度百科 STM32词条

概括一下我没有摘录的部分,就是STM32有着各种优势,是从事嵌入式行业的朋友的好伙伴。以我作为一个电子系学生的经验,主要用到的就是F1和F4,后者较前者的区别就是多了一个FPU (Float Point Unit,浮点运算单元) 处理浮点数的速度也就会更快。

2. 硬——STM32硬件电路设计

STM32的大体情况了解完了之后,那么就是了解如何设计一块STM32的板子,虽然说,市面上的成品的开发板五花八门,实际做项目用的核心板也算价格良心。但是,仅仅只会编程可不行,最基础的硬件电路也需要我们了解。

不作复杂的要求,最基础的最小系统板,起码应该知道它的组成部分,能自己动手画一个那就更棒了!

说到单片机的最小系统,这个可以说是电子行业的常识性问题了,必须得知道。

这里以51单片机为例:那就是 单片机、电源电路、时钟电路以及复位电路。

单片机是一种集成电路芯片。它采用超大规模技术将具有数据处理能力的微处理器(CPU)、存储器(含程序存储器ROM和数据存储器RAM)、输入、输出接口电路(I/O接口)集成在同一块芯片上,构成一个即小巧又很完善的计算机硬件系统,在单片机程序的控制下能准确、迅速、高效地完成程序设计者事先规定的任务。所以说,一片单片机芯片就具有了组成计算机的全部功能。

复位电路:由电容串联电阻构成,由图并结合“电容电压不能突变”的性质,可以知道,当系统一上电,RST脚将会出现高电平,并且,这个高电平持续的时间由电路的RC值来决定。典型的51单片机当RST脚的高电平持续两个机器周期以上就将复位,所以,适当组合RC的取值就可以保证可靠的复位。

时钟电路:单片机外部接上振荡器(也可以是内部振荡器)提供高频脉冲经过分频处理后,成为单片机内部时钟信号,作为片内各部件协调工作的控制信号。作用是来配合外部晶体实现振荡的电路,这样可以为单片机提供运行时钟。以MCS一5l单片机为例随明:MCS一51单片机为12个时钟周期执行一条指令。也就是说单片机运行一条指令,必须要用12个时钟周期。没有这个时钟,单片机就跑不起来了,也没有办法定时和进行和时间有关的操作。
时钟电路是微型计算机的心脏,它控制着计算机的二个节奏。CPU就是通过复杂的时序电路完成不同的指令功能的。

电源电路:用于给单片机供电,一个稳定的电源是单片机正常工作的前提,因此,单片机附近经常会有电容用于滤波。
在这里插入图片描述
再附上一个STM32单片机的最小系统;在这先埋一个伏笔。
在这里插入图片描述
当然了,对于PCB绘制有兴趣的也可以参照我的这几篇博客:
Altium designer学习(一)AD画板流程总结
Altium designer学习(二)pcb库不求人——立创商城导出封装库

3. 软——STM32编程

STM32单片机的成功,和ST的软件生态也是有很大关系的。
早期的STM32编程主要以库函数(标准固件库)和寄存器两种方式进行的。库函数编程比较方便,调用ST官方提供的函数,即可完成相应功能,效率也还可以接受。寄存器方式则是直接操作STM32的相应寄存器的数据,效率极高,但是难度也很大,编程时需要查阅芯片参考手册,多用于嵌入式老手。但随着单片机性能的不断提升,对于效率又不太看重,所以,很多人基本就是选择库函数了。

后来,ST为了降低编程的门槛,推出了HAL库,Hardware Abstraction Layer(硬件抽象层),说白了就是减少硬件细节,提高移植性,降低编程门槛。又配合STM32CUBEMX软件,直接就可以初始化一个工程。大大降低编程难度,本次教程就是介绍 :HAL库配合CUBEMX配置一些常用外设的初始化,直观感受STM32编程,用最短时间入门STM32。

硬件抽象层 : 是位于操作系统 内核与硬件电路之间的接口层,其目的在于将硬件抽象化。它隐藏了特定平台的硬件接口细节,为操作系统提供虚拟硬件平台,使其具有硬件无关性,可在多种平台上进行移植。 从软硬件测试的角度来看,软硬件的测试工作都可分别基于硬件抽象层来完成,使得软硬件测试工作的并行进行成为可能。

当然了,HAL库虽然简单直观,但我们也不能忽视硬件底层的学习,不能不求甚解。

4. 开始——STM32起步

照例放篇博客: https://blog.csdn.net/lalala12ll/article/details/107371982

必备软件:

  • STM32CUBEMX(配置stm32初始化工程)
  • MDK Keil(编程、调试软件)
  • 串口调试助手(调试软件)
  • 驱动软件:Jlink 、STlink 驱动(调试器) ; CH340驱动(串口通信)
    在这里推荐一个不限速下载站,电子系用到的

资料:

拓展学习:

  • RTOS操作系统:freertos、RT Thread 等等
  • STM32LL库 寄存器延伸
  • QT
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/196380.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • MT4安卓版下载安装

    MT4安卓版下载安装投资者安卓手机可以使用MT4软件吗?答案是:当然可以。MT4软件作为投资者通用的交易软件mt4.M1.xinclo.xyz涵盖了多个版本,电脑版MT4、手机版(包含IOS和安卓)MT4、MAC版MT4。如果是安卓手机,下载和安装安卓版的即可。安卓手机是无法在应用商店搜索到MT4的,因此大多都在网页上先获取安装包。下载交易软件,该软件商店中的移动终端。点击安装,软件会存储在手机桌面上,主界面上会显示MT4交易系统软件。…

  • 干净卸载mysql,个人亲测,这一次终于成功了

    干净卸载mysql,个人亲测,这一次终于成功了(一)卸载面板中的数据库二、卸载过后,删除文件夹中的mysql,如删除C:\ProgramFiles(x86)\MySQL该目录下剩余了所有文件,把mysql文件夹也删了三、windows+R运行“regedit”文件,打开注册表四、删除注册表:HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Ap…

  • yii2 rbac权限管理学习笔记

    yii2 rbac权限管理学习笔记

  • Maven 入门教程

    Maven 入门教程   maven是一个项目管理工具,不仅可以把源代码构建为可以发布的项目(包括编译、打包、测试、分发),还可以生成报告、生成web站点。本文介绍maven的主要使用过程,作为入门1、maven的安装   windows下载地址http://maven.apache.org/download.cgi zip解压缩包,无需安装直接解压即可。   配置环境变量:MAVE…

  • 海思Hi3798MV100机顶盒芯片介绍[通俗易懂]

    海思Hi3798MV100机顶盒芯片介绍[通俗易懂]Hi3798MV100是海思推出的专门针对OTT机顶盒市场的高性价比芯片方案。在码流兼容性、在线视频播放的流畅性、图像质量以及整机性能方面保持业界最好的用户体验。集成四核高性能处理器、内置NEON,其处理性能可以满足各种差异化的业务需求,支持Dolby和DTS音频处理。支持H.265、H.264、AVS+、MVC、MPEG2、MPEG4、VC-1、VP6、VP8等多种格式的高清视频解码和高性…

  • laravel 5.5 登录验证码 captcha 引入

    laravel 5.5 登录验证码 captcha 引入

    2021年10月26日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号