STM32的嵌套中断系统NVIC和RCC详细整理
32_t RCC_PLL3Mul);//
void RCC_PLL3Cmd(FunctionalState NewState);//
#endif
voidRCC_SYSCLKConfig(uint32_t RCC_SYSCLKSource);//设置系统时钟(SYSCLK)源
// RCC_SYSCLKSource_HSI,RCC_SYSCLKSource_HSE,RCC_SYSCLKSource_PLLCLK
uint8_tRCC_GetSYSCLKSource(void);// 返回用作系统时钟的时钟源
//返回值:0x00 HSI作为系统时钟,0x04 HSE作为系统时钟,0x08 PLL作为系统时钟
voidRCC_HCLKConfig(uint32_t RCC_SYSCLK);//设置AHB时钟(HCLK)
//输入:RCC_SYSCLK_Div1,RCC_SYSCLK_Div2,RCC_SYSCLK_Div4,RCC_SYSCLK_Div8,RCC_SYSCLK_Div16,
//RCC_SYSCLK_Div32,RCC_SYSCLK_Div64,RCC_SYSCLK_Div128,RCC_SYSCLK_Div256,RCC_SYSCLK_Div512
voidRCC_PCLK1Config(uint32_t RCC_HCLK);// 设置低速AHB时钟(PCLK1)
//输入: RCC_HCLK_Div1, RCC_HCLK_Div2, RCC_HCLK_Div4, RCC_HCLK_Div8, RCC_HCLK_Div16
voidRCC_PCLK2Config(uint32_t RCC_HCLK);//设置高速AHB时钟(PCLK2)
//输入:RCC_HCLK_Div1, RCC_HCLK_Div2, RCC_HCLK_Div4, RCC_HCLK_Div8, RCC_HCLK_Div16
voidRCC_ITConfig(uint8_t RCC_IT, FunctionalState NewState);// 使能或者失能指定的RCC中断
//输入:RCC_IT_LSIRDY
//RCC_IT_LSERDY
//RCC_IT_HSERDY
#ifndef STM32F10X_CL
void RCC_USBCLKConfig(uint32_tRCC_USBCLKSource);// 设置USB时钟(USBCLK)
//输入:RCC_USBCLKSource_PLLCLK_1Div5,USB时钟 = PLL时钟除以1.5
RCC_USBCLKSource_PLLCLK_Div1,USB时钟 = PLL时钟
#else
void RCC_OTGFSCLKConfig(uint32_tRCC_OTGFSCLKSource);//
#endif
voidRCC_ADCCLKConfig(uint32_t RCC_PCLK2);// 设置ADC时钟(ADCCLK)
//RCC_PCLK2_Div2,ADC时钟 = PCLK / 2;RCC_PCLK2_Div4,ADC时钟 = PCLK / 4;
//RCC_PCLK2_Div6,ADC时钟 = PCLK / 6;RCC_PCLK2_Div8,ADC时钟 = PCLK / 8
#ifdef STM32F10X_CL
void RCC_I2S2CLKConfig(uint32_tRCC_I2S2CLKSource); //
void RCC_I2S3CLKConfig(uint32_tRCC_I2S3CLKSource);//
#endif
voidRCC_LSEConfig(uint8_t RCC_LSE);// 设置外部低速晶振(LSE)
//输入:RCC_LSE_OFF,LSE晶振OFF;RCC_LSE_ON,LSE晶振ON;
//RCC_LSE_Bypass,LSE晶振被外部时钟旁路
voidRCC_LSICmd(FunctionalState NewState);// 使能或者失能内部低速晶振(LSI)
//输入:ENABLE或者DISABLE
voidRCC_RTCCLKConfig(uint32_t RCC_RTCCLKSource);//设置RTC时钟(RTCCLK)源(RTC时钟一经选定即不能更改,除非复位后备域)
//输入:RCC_RTCCLKSource_LSE,选择LSE作为RTC时钟;RCC_RTCCLKSource_LSI,选择LSI作为RTC时钟;RCC_RTCCLKSource_HSE_Div128,选择HSE时钟频率除以128作为RTC时钟
voidRCC_RTCCLKCmd(FunctionalState NewState);// 使能或者失能RTC时钟
//输入:ENABLE或者DISABLE
voidRCC_GetClocksFreq(RCC_ClocksTypeDef* RCC_Clocks);// 返回时钟的频率
//输入:指向结构RCC_ClocksTypeDef的指针,包含了各个时钟的频率(单位为Hz)
voidRCC_AHBPeriphClockCmd(uint32_t RCC_AHBPeriph, FunctionalState NewState);// 使能或者失能AHB外设时钟
//输入:RCC_AHBPeriph_DMA,DMA时钟->ENABLE或者DISABLE;
//RCC_AHBPeriph_SRAM,SRAM时钟;RCC_AHBPeriph_FLITF,FLITF时钟
//RCC_AHBPeriph_DMA1,DMA1时钟;RCC_AHBPeriph_DMA2,DMA2时钟
//RCC_AHBPeriph_CRC,CRC时钟;RCC_AHBPeriph_FSMC,FSMC时钟
//RCC_AHBPeriph_SDIO,SDIO时钟
voidRCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState);// 使能或者失能APB2外设时钟
//输入:RCC_APB2Periph_AFIO,功能复用IO时钟->ENABLE或者DISABLE;
//RCC_APB2Periph_GPIOA,GPIOA时钟;RCC_APB2Periph_GPIOB,GPIOB时钟;
//RCC_APB2Periph_GPIOC,GPIOC时钟;RCC_APB2Periph_GPIOD,GPIOD时钟;
//RCC_APB2Periph_GPIOE,GPIOE时钟;RCC_APB2Periph_ADC1,ADC1时钟;
//RCC_APB2Periph_ADC2,ADC2时钟;RCC_APB2Periph_TIM1,TIM1时钟;
//RCC_APB2Periph_SPI1,SPI1时钟;RCC_APB2Periph_USART1,USART1时钟;
//RCC_APB2Periph_ALL,全部APB2外设时钟
voidRCC_APB1PeriphClockCmd(uint32_t RCC_APB1Periph, FunctionalState NewState);// 使能或者失能APB1外设时钟
//输入:RCC_APB1Periph_TIM2,TIM2时钟->ENABLE或者DISABLE;
//RCC_APB1Periph_TIM3,TIM3时钟
STM32中断系统NVICRC 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)