软复位函数在HAL库中的名称为HAL_RCC_DeInit(),它是一个全局函数,可以在任何地方调用。该函数的实现中会对MCU的时钟、外设、NVIC等进行初始化配置,使MCU恢复到出厂默认状态。 在使用软复位函数前,需要确保所有正在运行的操作已经停止,且当前MCU的状态已经妥善记录,以免因软复位导致数据丢失或程序异常。 软复位函数的...
RCC_ClkInitStruct.ClockType = (RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_D1PCLK1 | RCC_CLOCKTYPE_PCLK1 | \ RCC_CLOCKTYPE_PCLK2 | RCC_CLOCKTYPE_D3PCLK1); RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; RCC_ClkInitStruct.SYSCLKDivider = RCC_SYSCLK_DIV1; ...
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...
(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)设置...
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();/...
提供额外的RCC_HAL驱动程序功能: HAL_RCC_DeInit()时钟去启动功能,将时钟配置返回到复位状态; 获取时钟功能,并允许检索各种时钟配置(system clock、HCLK、PCLKn); MCO和CSS配置功能; 在stm32f0xx_hal_rcc.h和stm32f0xx_hal_rcc_ex.h中定义了一组宏;它们允许在RCC块寄存器上执行基本操作,例如外设时钟门控/复...
16.3.2 函数HAL_DeInit 函数原型: 代码语言:javascript 复制 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_ADC_DeInit(&hadc)的功能只是将ADC模块本身及相关寄存器恢复成复位初状态下的默认值,并不是用来关闭ADC外设模块的。如果使用STM32库函数的话,我们可以调用下面函数关闭ADC外设时钟以停止其功能运行。 __HAL_RCC_ADC1_CLK_DISABLE; 可是,当客户在进STOP前将HAL_ADC_DeInit(&hadc)换成__HAL_RCC_ADC1...
HAL_GPIO_DeInit:解除初始化,不想使用时可以主动使用*/ void HAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init); void HAL_GPIO_DeInit(GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin); /* 操作GPIO的函数,包括读取,写入,翻转,加锁,中断服务函数以及回调函数 ...
点击RCC进入时钟配置,配置高速时钟为外部晶振,软件自动配置了两个晶振的引脚如图PD0和PD1 3、Debug配置为DAP 4、GPIO配置为中断 ① GPIO模块配置模块 ② 各引脚配置: PC12/PC13(外部中断模式中断线12和13),共用一个中断向量。PC14/PC15输出模式为LED的两个引脚 ...