使用HSE时钟,程序设置时钟参数流程: 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时...
}elseif(0!= (RCC- >CSR &0x40000000))//窗口看门狗复位标志{printf("窗口看门狗复位rn"); }elseif(0!= (RCC- >CSR &0x20000000))//独立看门狗复位标志{printf("独立看门狗复位rn"); }elseif(0!= (RCC- >CSR &0x10000000))//软件复位标志{printf("软件复位rn"); }elseif(0!= (RCC- >CSR &...
找到RCC基地址:0x40023800 那么RCC 时钟控制和状态寄存器(RCC_CSR)的地址就是0x40023800+0x74 看寄存器实际用到的就只有24bit到31bit这里声明变量直接指向这几个bit,用来使用。因为是0-31bit是小端存储就是地位在前,所以访问高位8bit地址要加3。 uint8_t*RCC_CSR=(uint8_t*)(0x40023800+0x74+3);//RCC 时...
*/voidSystemInit(void){/* Reset the RCC clock configuration to the default reset state(for debug purpose) *//* Set HSION bit */RCC->CR |= (uint32_t)0x00000001;/* Reset SW, HPRE, PPRE1, PPRE2, ADCPRE and MCO bits */#ifndefSTM32F10X_CLRCC->CFGR &= (uint32_t)0xF8FF0000;...
LSI时钟频率在32kHz左右。 LSIRC振荡器可通过RCC时钟控制和状态寄存器(RCC_CSR)中的LSION位打开或关闭。 RCC时钟控制和状态寄存器中的LSIRDY标志指示低速内部振荡器是否稳定。在启动时,硬件将此位置1后,LSI时钟才可以使用。若在RCC时钟中断寄存器中使能中断,则LSI就绪后可产生中断。
}RCC_ClocksTypeDef; 2、库函数解析 void RCC_DeInit(void);//将外设RCC寄存器设为缺省值;(除RCC_BDCR和RCC_CSR) void RCC_HSEConfig(uint32_t RCC_HSE);//设置外部高速晶振(HSE); //输入:RCC_HSE_OFF,RCC_HSE_ON,RCC_HSE_Bypass(HSE旁路)
}RCC_ClocksTypeDef; 2、库函数解析 void RCC_DeInit(void);//将外设RCC寄存器设为缺省值;(除RCC_BDCR和RCC_CSR) void RCC_HSEConfig(uint32_t RCC_HSE);//设置外部高速晶振(HSE); //输入:RCC_HSE_OFF,RCC_HSE_ON,RCC_HSE_Bypass(HSE旁路)
其中系统复位除了RCC_CSR中的复位标志和BKP中的数值不复位之外,其他的所有寄存器全部复位。 触发方式例如外部复位、看门狗复位、软件复位等;电源复位由于外部电源的上电/掉电复位或者待机模式返回。 复位除了BKP中的寄存器值不动,其他全部复位; 备份区域复位的触发源为软件复位或者VDD和VBAT全部掉电时。
LSI RC 可通过 RCC 时钟控制(因为是时钟控制的,就没有那么标准)和状态寄存器 (RCC_CSR) 中的 LSION 位打开或关闭。 RCC 时钟控制和状态寄存器 (RCC_CSR) 中的 LSIRDY 标志指示低速内部振荡器是否稳定。 在启动时,硬件将此位置 1 后,此时钟才可以使用。如在 RCC 时钟中断寄存器 (RCC_CIR) 中 使能中断,...
1、系统复位系统复位将所有寄存器设置成复位值,除了 RCC_CSR (控制状 态寄存器)中的相关复位标志位,通过查看 RCC_CSR寄存器,可以 识别复位源。系统复位可由以下5种方式产生:1)外部引脚NRST复位(低电平触发);2)窗口看门狗(WWDG )计数终止3)独立看门狗(IDOG )计数终止4)软件复位(SW RESET),通过将中断应用和复位...