AI代码解释 HAL_StatusTypeDefHAL_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();/* 返回值 */returnHAL...
stm32l4xx_hal_msp.c 文件定义了两个函数 HAL_MspInit 和 HAL_MspDeInit。这两个函数分别被文件 stm32l4xx_hal.c 中的 HAL_Init 和 HAL_DeInit 所调用。HAL_MspInit 函数的主要作用是进行 MCU相关的硬件初始化操作。例如我们要初始化某些硬件,我们可以硬件相关的初始化配置 写在HAL_MspDeinit 函数中。这样的...
2. HAL_DeInit ()函数 源码在179行到214行,函数如下: HAL_StatusTypeDef HAL_DeInit(void) { /* 复位所有外设 */ __HAL_RCC_AHB3_FORCE_RESET(); __HAL_RCC_AHB3_RELEASE_RESET(); __HAL_RCC_AHB1_FORCE_RESET(); __HAL_RCC_AHB1_RELEASE_RESET(); __HAL_RCC_AHB2_FORCE_RESET(); __HAL...
复位了AHB1,2,3,4的时钟以及APB1L,APB1H,APB2,3,4的时钟。 函数HAL_DeInit里面调用的HAL_MspDeInit一般在文件stm32h7xx_hal_msp.c里面做具体实现,主要用于底层初始化,跟函数HAL_Init里面调用的HAL_MspInit是一对。当前此函数也在文件stm32h7xx_hal.c里面,只是做了弱定义。 使用举例: 此函数的使用比较简...
stm32mp1xx_hal.cstm32mp1xx_hal.h HAL库通用API,比如HAL_Init(HAL库初始化函数)、HAL_DeInit和HAL_Delay等函数,主要实现HAL库的初始化、系统滴答,HAL库延时、IO重映射和DBGMCU等功能。 stm32mp1xx_hal_def.h HAL 的通用数据类型、宏、枚举和结构体定义。如HAL函数操作结果返回值类型。 stm32mp1xx_hal...
HAL_PPP_Init(),HAL_PPP_DeInit() IO 操作函数: 代码语言:javascript 代码运行次数:0 运行 AI代码解释 HAL_PPP_Read(),HAL_PPP_Write(),HAL_PPP_Transmit(),HAL_PPP_Receive() 控制函数: 代码语言:javascript 代码运行次数:0 运行 AI代码解释
软复位函数在HAL库中的名称为HAL_RCC_DeInit(),它是一个全局函数,可以在任何地方调用。该函数的实现中会对MCU的时钟、外设、NVIC等进行初始化配置,使MCU恢复到出厂默认状态。 在使用软复位函数前,需要确保所有正在运行的操作已经停止,且当前MCU的状态已经妥善记录,以免因软复位导致数据丢失或程序异常。 软复位函数的...
函数HAL_DeInit里面调用的HAL_MspDeInit一般在文件stm32h7xx_hal_msp.c里面做具体实现,主要用于底层初始化,跟函数HAL_Init里面调用的HAL_MspInit是一对。当前此函数也在文件stm32h7xx_hal.c里面,只是做了弱定义。 使用举例: 此函数的使用比较简单,需要调用的时候直接调用即可。
void HAL_GPIO_DeInit(GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin); /* 操作GPIO的函数,包括读取,写入,翻转,加锁,中断服务函数以及回调函数 HAL_GPIO_ReadPin:读取引脚电平 返回值为(GPIO_PIN_RESET/GPIO_PIN_SET) HAL_GPIO_WritePin:写入引脚电平 ...
---外设Init/DeInit HAL api可以调用用户回调函数来执行初始化/去初始化(时钟,gpio,中断,DMA) ---外设中断事件错误的事件。 ● 对象锁定机制:安全硬件访问,防止多重伪访问共享资源。 ● 用于所有阻塞进程的超时:超时可以是一个简单的计数器或时基。 本文重点对hal库做一个综合的概述,后续还会更新其他外设!