zoukankan      html  css  js  c++  java
  • STM32HAL库学习之前言

    HAL库:HAL 的全称是: Hardware Abstraction Layer (硬件抽象层) ,是ST最新推荐的库。
    包括基本库和扩展库(功能外展);三种编程模型(轮询、中断和 DMA
    灵活的回调机制, STM32CubeMX 生成的工程具有回调机制,这也是 ST 官方
    推出 HAL 库的一个特点。 回调函数由外设初始化、 中断事件、处理完成/出错触
    发回调。

    特点:

    1:_weak重载:对于通用的操作,ST已经做成了标准的库函数,而差异化的配置部分都用_weak来修饰,这部分对用户开放,可以重写覆盖从而实现差异化。

    2 :每个外设函数中,都会接收到一个handle指针,这其实和this指针非常类似,每个函数都不用知道自己到底是在操作某一个具体的对象,只需要根据handle的指向来操作就可以了

    3 :中断会掉机制:在中断中ST库已经将通用的处理流程整好,对于数据业务逻辑部分给用户提供了回调函数。

    框架架构:

    1  stm32l0xx_hal.c中HAL_Init()调用HAL_MspInit();

    stm32f1xx_hal_msp.c中有函数HAL_MspInit->SystemClock_Config()&&HAL_PPP_Init()

    HAL_PPP_Init()->HAL_UART_MspInit()

  • 相关阅读:
    3.3 React Hooks
    ES6高阶函数
    ES6扩展运算符
    4.0不用npm,cnpm。使用yarn包启动react项目
    4.3 webpack打包学习
    4.2 Node.js模块化教程
    4.1React模块化
    vue组件化开发
    js箭头函数
    weblogic_exploit
  • 原文地址:https://www.cnblogs.com/jieruishu/p/7214396.html
Copyright © 2011-2022 走看看