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
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • webstorm激活码【注册码】

    webstorm激活码【注册码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月20日
    39
  • docker加载配置文件重启服务导致pod重启

    docker加载配置文件重启服务导致pod重启

    2021年6月1日
    89
  • sdn网络的特点(水环式真空泵的工作原理)

    SDN的工作原理SDN网络架构的三层模型架构主要分为协同应用层,控制层,转发层三层,网络架构本身包括管理平面,控制平面和转发平面,与这三层对应。传统的IP网络具有转发平面,控制平面和管理平面。协同应用层主要是完成用户意图的各种上层应用程序,此类应用程序(APP)成为协同应用程序,典型的协同层包括OSS,Openstack等。控制层是系统的控制中心,负责网络内部交换路径和边界业务路由的生成,并负责处理网络状态变化事件。这里注意sdn架构下,sdn控制器直接提供网络业务服务接口,APP就不需关心内部

    2022年4月11日
    36
  • 扒站工具整站_抓包知乎

    扒站工具整站_抓包知乎前两节说了利用浏览器或者借助仿站工具来扒站,这些方法适用于一般的web站点,对于某些不能在PC端打开的站点就比较困难了。如果只是在后台检验客户端来限制用户浏览,比如你用PC访问的时候自动转到PC页面或

    2022年8月6日
    3
  • Linux 学习之创建、删除文件和文件夹命令[通俗易懂]

    Linux 学习之创建、删除文件和文件夹命令[通俗易懂]今天学习了几个命令,是创建、删除文件和文件夹的,在linux里,文件夹是目录,下面说下我学习的命令。创建文件夹【mkdir】一、mkdir命令使用权限所有用户都可以在终端使用mkdir命令在拥有权限的文件夹创建文件夹或目录。二、mkdir命令使用格式格式:mkdir[选项]DirName三、mkdir命令功能通过m…

    2022年5月28日
    29
  • ES-Elasticsearch数据库查询[通俗易懂]

    ES-Elasticsearch数据库查询[通俗易懂]ES增删改查一:结构操作1.查询对应索引的表结构GETbiz_commission_book2.创建表复制代码PUTcfg_send_sku{“settings”:{“number_of_shards”:5,“number_of_replicas”:1},”mappings”:{“cfg_send_sku”:{“properties”:{“obdCode”:{

    2022年6月13日
    119

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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