软复位函数在HAL库中的名称为HAL_RCC_DeInit(),它是一个全局函数,可以在任何地方调用。该函数的实现中会对MCU的时钟、外设、NVIC等进行初始化配置,使MCU恢复到出厂默认状态。 在使用软复位函数前,需要确保所有正在运行的操作已经停止,且当前MCU的状态已经妥善记录,以免因软复位导致数据丢失或程序异常。 软复位函数的...
(1)将RCC寄存器重新设置为默认值 RCC_DeInit; (2)打开外部高速时钟晶振HSE RCC_HSEConfig(RCC_HSE_ON); (3)等待外部高速时钟晶振工作 HSEStartUpStatus = RCC_WaitForHSEStartUp(); (4)设置AHB时钟 RCC_HCLKConfig; (5)设置高速AHB时钟 RCC_PCLK2Config; (6)设置低速速AHB时钟 RCC_PCLK1Config; (7)设置...
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(); /* 返回值 */ r...
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_OK;} 函...
对应的底层复位函数HAL_TIM_Base_DeInit是在函数HAL_TIM_Base_MspDeInit里面被调用的,也是弱定义的。 当然,用户也可以自己初始化,不限制必须在两个函数里面实现。 定时器外设的基本参数配置完毕后还不能使用,还需要配置GPIO、时钟、中断等参数,比如下面配置TIM1使用PA8做PWM输出。 代码语言:javascript 代码运行次数:...
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();/...
3、在使用HAL库时,必须先调用函数:HAL_StatusTypeDef HAL_Init(void)(该函数在stm32f2xx_hal.c中定义,也就意味着第一点中,必须首先实现HAL_MspInit(void)和HAL_MspDeInit(void)) 4、HAL库与STD库不同,HAL库使用RCC中的函数来配置系统时钟,用户需要单独写时钟配置函数(STD库默认在system_stm32f2xx.c中) ...
提供额外的RCC_HAL驱动程序功能: HAL_RCC_DeInit()时钟去启动功能,将时钟配置返回到复位状态; 获取时钟功能,并允许检索各种时钟配置(system clock、HCLK、PCLKn); MCO和CSS配置功能; 在stm32f0xx_hal_rcc.h和stm32f0xx_hal_rcc_ex.h中定义了一组宏;它们允许在RCC块寄存器上执行基本操作,例如外设时钟门控/复...
3、在使用HAL库时,必须先调用函数:HAL_StatusTypeDef HAL_Init(void)(该函数在stm32f2xx_hal.c中定义,也就意味着第一点中,必须首先实现HAL_MspInit(void)和HAL_MspDeInit(void)) 4、HAL库与STD库不同,HAL库使用RCC中的函数来配置系统时钟,用户需要单独写时钟配置函数(STD库默认在system_stm32f2xx.c中) ...
对应的底层复位函数HAL_LPTIM_MspDeInit是在函数 HAL_LPTIM_DeInit里面被调用的,也是弱定义的。 当然,用户也可以自己初始化,不限制必须在两个函数里面实现。 定时器外设的基本参数配置完毕后还不能使用,还需要配置GPIO、时钟、中断等参数,比如下面配置LPTIM1使用PD13做PWM输出。 代码语言:javascript 代码运行次数:0 ...