在STM32 HAL库有一个专门用来对所有外设进行复位的函数,它就是HAL_Deinit()。下面是其函数体内的具体内容。 这些复位操作将让相应总线上的外设得以强制复位。这样一来,我们就可以将前面跳转前的那一堆逐个针对ST外设的操作代码改成HAL_DeInit()这一句即可。经实际验证也是可行的。参考下面代码的写法,代码一下变得...
2、stm32f4xx_hal.h:stm32f4xx_hal.c/h 主要实现HAL库的初始化、系统滴答相关函数、及CPU的调试模式配置 3、stm32f4xx_hal_conf.h :该文件是一个用户级别的配置文件,用来实现对HAL库的裁剪,其位于用户文件目录,不要放在库目录中。 接下来对于HAL库的源码文件进行一下说明,HAL库文件名均以stm32f4xx_hal...
16.3.2 函数HAL_DeInit 函数原型: HAL_StatusTypeDef HAL_DeInit(void) {/*复位所有外设*/__set_PRIMASK __HAL_RCC_AHB3_FORCE_RESET(); __HAL_RCC_AHB3_RELEASE_RESET();/*省略未写*/__HAL_RCC_APB4_FORCE_RESET(); __HAL_RCC_APB4_RELEASE_RESET();/*复位底层硬件初始化*/HAL_MspDeInit();/...
HAL_PPP_Init, HAL_PPP_DeInit IO 操作函数: HAL_PPP_Read,HAL_PPP_Write,HAL_PPP_Transmit,HAL_PPP_Receive 控制函数: HAL_PPP_Set ,HAL_PPP_Get . 状态和错误: ** HAL_PPP_GetState ,HAL_PPP_GetError . 注意: 目前LL库是和HAL库捆绑发布的,所以在HAL库源码中,还有一些名为 stm32f2xx_l...
MPU初始化,需要用到库文件stm32h7xx_hal_cortex.c和stm32h7xx_hal_cortex.h。 Cache初始化,需要用到core_cm7.h文件。 HAL库初始化函数HAL_Init,需要用到文件stm32h7xx_hal.c。 系统时钟初始化,需要用到库文件stm32h7xx_hal_rcc.c。 前面的两步完成后,就可以开始做用户需要的按键、串口等方面的初始化和...
并且HAL库也很好的解决了程序移植的问题,不同型号的stm32芯片它的标准库是不一样的,例如在F4上开发的程序移植到F3上是不能通用的,而使用HAL库,只要使用的是相通的外设,程序基本可以完全复制粘贴,注意是相通外设,意思也就是不能无中生有,例如F7比F3要多几个定时器,不能明明没有这个定时器却非要配置,...
STM32HAL库常用指令速查手册 持续更新中 GPIO HAL_GPIO_Init void HAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init); //功能: GPIO初始化 HAL_GPIO_DeInit void HA
函数HAL_DeInit里面调用的HAL_MspDeInit一般在文件stm32h7xx_hal_msp.c里面做具体实现,主要用于底层初始化,跟函数HAL_Init里面调用的HAL_MspInit是一对。当前此函数也在文件stm32h7xx_hal.c里面,只是做了弱定义。 使用举例: 此函数的使用比较简单,需要调用的时候直接调用即可。
voidHAL_GPIO_DeInit(GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin); /*** 功能:将GPIOx外设寄存器解除初始化为其默认复位值。 参数定义: GPIOx:其中x可以是(A..H),用于选择STM32L4系列的GPIO外设 GPIO_Pin:指定要写入的端口位;此参数可以是GPIO_Pin...
● 所有HAL API都实现用户回调函数机制: ---外设Init/DeInit HAL api可以调用用户回调函数来执行初始化/去初始化(时钟,gpio,中断,DMA) ---外设中断事件错误的事件。 ● 对象锁定机制:安全硬件访问,防止多重伪访问共享资源。 ● 用于所有阻塞进程的超时:超时可以是一个简单的计数器或时基。 本文...