
GPIO_InitStructureGPIO_Pin = GPIO_Pin_8;
GPIO_InitStructureGPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructureGPIO_Mode = GPIO_Mode_AF_PP;
GPIO_Init(GPIOA, &GPIO_InitStructure);
RCC_MCOConfig(RCC_MCO_PLLCLK_Div2 );
STM32F103只要这样写就OK了啊~
时钟是STM32单片机的脉搏,是单片机的驱动源。使用任何一个外设都必须打开相应的时钟。这样的好处就是,如果不使用一个外设的时候,就把它的时钟关掉,从而可以降低系统的功耗,达到节能,实现低功耗的效果。
STM32单片机的时钟可以由以下3个时钟源提供:
1、HSI:高速内部时钟信号STM32单片机内带的时钟 (8M频率), 精度较差
2、HSE:高速外部时钟信号,精度高。
来源:i HSE外部晶体/陶瓷谐振器(晶振);
iiHSE用户外部时钟
3、LSE:低速外部晶体 32768kHz 主要提供一个精确的时钟源 一般作为RTC时钟使用
STM32单片机的将时钟信号(例如HSE)经过分频或倍频(PLL)后,得到系统时钟,系统时钟经过分频,产生外设所使用的时钟。
你在中断处理函数中调用延时函数。是可以的。关键这个延时函数不可以使用到别的中断。stm32在中断处理中只能同时处理一个中断。如果该中断不处理完。即使有别的高级别中断产生也不会执行处理函数。你说你在你的延时函数中使用了systemtick,在你EXTI0_1_IRQHandler执行的时候,systemtick的中断处理不能执行。你的系统计时也不会增加,就导致你的延时函数永远等不到结束。如果你一定要延时的话,可以使用空循环。欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)