首页 > 其他分享 >HAL库教程1:STM32Cube的介绍

HAL库教程1:STM32Cube的介绍

时间:2023-01-11 12:33:51浏览次数:41  
标签:教程 HAL STM32CubeMX STM32Cube STM32 立方体 外设


  使用STM32HAL库已经有了一段时间,觉得相比于标准库,好用了不少。加上STM32CubeMX图形化配置工具的加持,个人认为可以极大提升开发效率。其实关于HAL库的教程已经很多了,关于STM32CubeMX的使用教程也很多,我并不比这些写教程的大牛厉害,只是记录一些个人的看法。还有,随着版本的变化,STM32CubeMX的界面变化也比较大,我基于5.0.1版本重新按步骤截图记录操作。另外,我的思路是通过几个简单的小项目来讲述知识,所以很多资源没有用上,希望可以对你有所帮助。

STM32Cube简介

  STM32Cube是意法半导体公司的一个原创项目,它的目的是减少开发工作、时间和成本,让开发人员更加轻松。它包含STM32CubeMX, HAL库,LL库,一些中间件(例如RTOS、USB、AFAT文件系统,TCP/IP)。借助于自身良好的程序架构,支持STM32Cube的STM32系列单片机之间有极好的可移植性。

  Cube是立方体的意思,一个大的立方体是由无数个小立方体模块构成。STM32Cube是采用了类似于堆立方体的积木式思想,为了适应日益复杂的设计需求,而开发的可以任意扩展功能的软件设计工具。

HAL库教程1:STM32Cube的介绍_STM32


HAL库教程1:STM32Cube的介绍_图形化_02


  使用STM32Cube可以很方便地使用一些嵌入式的操作系统,并能快速连接多种不同的云服务(国内已经支持阿里云、机智云、百度云)。因此,STM32Cube对于交付在的系统,如物联网系统,使用起来也十分便捷。

HAL库教程1:STM32Cube的介绍_单片机_03

STM32CubeMX简介

  STM32CubeMX是STM32Cube项目中的一个软件或插件,可以理解为一个图形化的C代码配置向导。它能够通过一系列的鼠标操作,很容易地配置STM32微控制器(MCU)和微处理器(MPU),并且能够为Arm Cortex-M内核或Cortex-A内核的设备生产相应的初始化C代码。

HAL库教程1:STM32Cube的介绍_HAL库_04


  它有很多优良特性:

  直观选择单片机或处理器。

  比较友好的图形化界面。

  自动解决引脚冲突。

  时钟、配置、外设、中间件的参数修改是动态的。

HAL库简介

  HAL是Hardware Abstraction Layer的缩写,中文名:硬件抽象层。HAL库是ST为STM32最新推出的抽象层嵌入式软件。可以说HAL库就是用来取代之前的标准外设库的。相比标准外设库,STM32Cube HAL库表现出更高的抽象整合水平,HAL API集中关注各外设的公共函数功能,这样便于定义一套通用的用户友好的API函数接口,从而可以轻松实现从一个STM32产品移植到另一个不同的STM32系列产品。HAL库是ST未来主推的库,从前年开始ST新出的芯片已经没有STD库了,比如F7系列。目前,HAL库已经支持STM32全线产品。

HAL库教程1:STM32Cube的介绍_STM32_05

HAL库教程1:STM32Cube的介绍_图形化_06

HAL库教程1:STM32Cube的介绍_图形化_07


标签:教程,HAL,STM32CubeMX,STM32Cube,STM32,立方体,外设
From: https://blog.51cto.com/u_12001544/6002129

相关文章

  • HAL库教程7:STM32的时钟系统
      STM32的时钟系统比较复杂,不像51单片机,可能只有一个时钟。原因:1、外设多,不同的外设有不同的时钟要求;2、功耗原因,速度越快,功耗越大,抗电磁干扰能力越弱。此处以STM32F405......
  • HAL库教程4:外部中断
    外部中断机制  本章我们仍然是通过按键来控制LED,只不过实现方式由轮询变为了外部中断。为什么需要外部中断?为了给CPU减轻负担。  举个例子  比如你今天有个快递,快递......
  • HAL库教程8:通用定时器的使用
    定时器溢出时间的计算  关于定时器溢出的时间计算,有个公式:  定时器本质上是一个不断自加的计数器,只不过在自加的时候,能够自动比较计数值跟某个设定值而已。定时器+1用......
  • HAL库教程9:串口接收不定长数据
      串口收到的两组数据之间,往往会有一定的时间间隔。可以判断这个间隔,来实现无需结束符,无需指定长度,串口可接收不定长数据的功能。如果串口在一定的时间内没有收到新的数据......
  • HAL库教程11:定时器的缓冲功能与影子寄存器
      在STM32的定时器中,TIMx_PSC、TIM_ARR两个寄存器加上捕捉比较模块中TIMX_CCR寄存器,它们都可以动态修改。不过他们的修改和生效可能不在同一个时刻,或者说,修改过后立即生......
  • HAL库教程10:定时器的PWM模式应用
      本节通过定时器的PWM模式驱动无源蜂鸣器,来演奏一段音乐。本博客在掌机的系列教程中介绍过蜂鸣器的驱动原理,感兴趣的可以参考​​电子琴​​无源蜂鸣器驱动电路  蜂鸣......
  • 电子设计教程20:晶体管负反馈放大电路的参数设计
    放大倍数的推导  我们假设的电路在没有负反馈的时候,电路增益为A(也称为开环增益,或者裸增益,等于各极增益的乘积)。实际放大倍数A_v可以表示为:  这个公式可以推导出来,但推......
  • 电子设计教程18:射极跟随电路的参数设计
      射极跟随电路的原理图在上一节我们已经通过理论分析大致画了出来。接下来求从“设计的角度”出发,思考射极跟随电路的原理。不但需要计算各器件的参数,还要进行参数调试。......
  • 电子设计教程22:虚短与虚断
      “虚短”与“虚断”是非常重要的两个概念。在分析运放的输入信号与输出信号的关系时,这是两个基本的出发点。  当运放引入负反馈的时候,或者说工作在“线性区”的时候,......
  • [完全免费] 在线UML Class Diagram 类图工具 - 教程第1部分
    在线VisualParadigm-UML编辑器使用在线UML编辑器轻松绘制UML图,其中包含功能强大的UML编辑工具,即时UML语法检查和整洁的用户界面。VisualParadigm在线UML图,如类,用例,序列......