HAL库软复位函数用于将MCU进行软件复位,它的作用是类似于按下复位按钮的效果,将MCU从初始状态开始重新启动。 软复位函数在HAL库中的名称为HAL_RCC_DeInit(),它是一个全局函数,可以在任何地方调用。该函数的实现中会对MCU的时钟、外设、NVIC等进行初始化配置,使MCU恢复到出厂默认状态。 在使用软复位函数前,需要确保...
16.4.1 函数HAL_RCC_DeInit 函数原型: void HAL_RCC_DeInit(void) { /* Set HSION bit */ SET_BIT(RCC->CR, RCC_CR_HSION); /* Reset CFGR register */ CLEAR_REG(RCC->CFGR); /* 省略未写 */ /* Reset HSEBYP bit */ CLEAR_BIT(RCC->CR, RCC_CR_HSEBYP); /* Disable all interrupt...
__HAL_RCC_APB4_RELEASE_RESET();/*复位底层硬件初始化*/HAL_MspDeInit();/*返回值*/returnHAL_OK; } 函数描述: 此函数用于复位HAL库和滴答时钟。 复位了AHB1,2,3,4的时钟以及APB1L,APB1H,APB2,3,4的时钟。 函数HAL_DeInit里面调用的HAL_MspDeInit一般在文件stm32h7xx_hal_msp.c里面做具体实现,主...
函数HAL_RCC_DeInit的部分代码如下,因为代码很多,我们省略掉了部分代码。 1 HAL_StatusTypeDef HAL_RCC_DeInit(void) 2 { 3 uint32_t tickstart; 4 5 /* 将HSION位置1,使能HSI振荡器 */ 6 SET_BIT(RCC->OCENSETR, RCC_OCENSETR_HSION); 7 8 /* 获取全局变量uwTick当前计算值 */ 9 tickstart = ...
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中) ...
用户可以在其它的C文件重定向,并将相对的底层初始化在里面实现。对应的底层复位函数HAL_LPTIM_MspDeInit是在函数 HAL_LPTIM_DeInit里面被调用的,也是弱定义的。 当然,用户也可以自己初始化,不限制必须在两个函数里面实现。 定时器外设的基本参数配置完毕后还不能使用,还需要配置GPIO、时钟、中断等参数,比如下面配置LP...
包含HAL通用API(比如HAL_Init,HAL_DeInit,HAL_Delay 等)。stm32f4xx_hal.h HAL的头文件,它应被...
HAL_DMA_DeInit(&g_dma_handle); HAL_DMA_Init(&g_dma_handle); } 该函数是一个通用的DMA配置函数,DMA1/DMA2的所有通道,都可以利用该函数配置,不过有些固定参数可能要适当修改(比如位宽,传输方向等)。该函数在外部只能修改DMA数据流编号和通道号,更多的其他设置只能在该函数内部修改。对照前面的配置步骤的详...
这两个时钟是独立的,作用如下:lpuart_pclk 用于为外设总线提供时钟。lpuart_ker_ck 串口外设的时钟源...