Image
Image

xiaoqi000

+ 关注

粉丝 0     |     主题 67     |     回帖 821

HAL驱动程序概述
2024-3-31 22:27
  • ST MCU
  • 41
  • 6277
  PWR: PWR HAL驱动程序处理电源管理,所有的STM32系列共享的功能如下: PVD配置,启动/禁用和中断 ...  
  Cortex NVIC和SysTick时钟 HAL库在stm32f0xx_hal_cortex.c中给了处理NVIC和SysTick的APIs,这些包含的APIs ...  
  配置GPIO作为下降沿触发外部中断模式; GPIO_InitStructure.Mode = GPIO_MODE_IT_FALLING; GPIO_InitStruc ...  
  GPIOs: GPIO HAL API主要包含:   HAL_GPIO_Init()/HAL_GPIO_DeInit()   HAL_GPIO_ReadPin()/HAL_GP ...  
  在stm32f0xx_hal_rcc.h和stm32f0xx_hal_rcc_ex.h中定义了一组宏;它们允许在RCC块寄存器上执行基本操作,例 ...  
  HAL外围设备处理: 时钟Clock: 两个主要的功能配置时钟: HAL_RCC_OscConfig (RCC_OscInitTypeDef *RCC_O ...  
  HAL配置: 配置文件stm32f0xx_hal_conf.h允许用户自定义配置参数和定义; 示例配置文件stm32f0xx_hal_conf ...  
  CommonMarco:   NULL和HAL_MAX_DELAY宏定义; #define HAL_MAX_DELAY 0xFFFFFFFF 将PPP外设链接 ...  
  HAL共有配置: HALStatus:除了布尔函数和IRQ处理程序,几乎所有的HAL_API都使用HAL状态,它返回当前API操 ...  
  文件包含模型: 在这其中stm32f0xx_hal.h是连接整个HAL库源和用户源的唯一头文件; 其中文件包含关系如下 ...  
  更新已有的通用API:想要覆盖一个在stm32f0xx_hal_ppp.c中已经存在的API函数,则在stm32f0xx_hal_ppp_ex.c ...  
  HAL扩展APIs: 扩展API通常是特定系列或同一系列中特定功能或覆盖已修改的API,扩展功能通常由stm32f0xx_ha ...  
  HAL通用APIs: 通用的API由四个方面组成: 初始化和去初始化: HAL_PPP_Init(), HAL_PPP_DeInit() ...  
  HAL中断处理程序和回调函数 除了API,HAL外设驱动还包含: HAL_PPP_IRQHandler()外设中断处理函数; ...  
  NVIC和SYSTICK是ARMCortex的两个核心功能,与这些功能相关的API位于stm32f0xx_hal_cortex.c中; 从寄存器 ...  
  HAL驱动规则: HAL_API命名规则:下面这个表可以仔细看看; 其中PPP是外设模式,而不是指外设本身; ...  
  扩展API,存在于扩展外设库文件中,有两类; 第一种是同于特定系列的扩展API; HAL_StatusTypeDef ...  
  API分类: 通用API,存在于所有通用的HAL驱动程序中; HAL_StatusTypeDef HAL_ADC_Init(ADC_HandleTypeDef ...  
  因此要遵守:     可重入代码区域不应包含任何静态或全局的非常量数据,可重入函数则可以使用全局数 ...  
  外设句柄结构举例: typedef struct { USART_TypeDef *Instance; /* USART registers base address */ ...  
2
3