mini stm32开发板入门教程(17)

发布时间:2021-06-06

mini stm32开发板入门教程

}

(2)打开GPIOA的时钟,因为STM32是一个低功耗的MCU,每一个你使用的外围设备都需要单独开启时钟,如果不开启将不能使用,这个也是对于STM32初学者容易疏忽的地方/*EnableGPIOAandAFIOclocks*/

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|

RCC_APB2Periph_AFIO,ENABLE);

STM32共有5种时钟源,其中三种不同的时钟源可用作为驱动系统时钟(SYSCLK);

1、HSI由内部8MHzRC振荡器产生,它是可以直接用来作为系统时钟或经2分频后作为PLLSRC输入。HIS时钟频率在出厂时被校准在1%(25°C),在系统复位时,工厂校准值会被装载到时钟控制寄存器的HISCAL[7..0]位。用户可以通过更改HISCAL[4..0]来调整HSI频率。

另外时钟寄存器中有一个HSIRDY位用来指示HSIRC是不稳定工作,在时钟启过后,直到这个标志位置被硬件置1后,HSIRC时钟才被输出。

HSIRC时钟还可以用时钟寄存器中的HSION位来启动和关闭。HSI时钟同时也是HSE晶体荡振器的备用时钟源。

使用HSE时钟,程序设置时钟参数流程:

1、将RCC寄存器重新设置为默认值RCC_DeInit;

2、打开外部高速时钟晶振HSERCC_HSEConfig(RCC_HSE_ON);

3、等待外部高速时钟晶振工作HSEStartUpStatus=RCC_WaitForHSEStartUp();4、设置AHB时钟RCC_HCLKConfig;5、设置高速AHB时钟RCC_PCLK2Config;6、设置低速速AHB时钟RCC_PCLK1Config;7、设置PLLRCC_PLLConfig;8、打开PLLRCC_PLLCmd(ENABLE);

9、等待PLL工作while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY)==RESET)10、设置系统时钟RCC_SYSCLKConfig;11、判断是否PLL是系统时钟while(RCC_GetSYSCLKSource()!=0x08)

12、打开要使用的外设时钟RCC_APB2PeriphClockCmd()/RCC_APB1PeriphClockCmd()

具体设置请参考下面的文章(3)设置外部中断,所有的GPIO口都可以作为外部中断源.具体可以参考下面这篇文章./*ConnectEXTILine3toPA.3*/

GPIO_EXTILineConfig(GPIO_PortSourceGPIOA,GPIO_PinSource3);/*ConfigureEXTILine3togenerateaninterruptonfallingedge*/EXTI_InitStructure.EXTI_Line=EXTI_Line3;

EXTI_InitStructure.EXTI_Mode=EXTI_Mode_Interrupt;

mini stm32开发板入门教程(17).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219