STM32 时钟输出

对于 STM32F1 只能使用PA8 口,配置外设MCO,将指定时钟从A8口输出

示例代码:

void freq_init_spl(void)
{
 
	GPIO_InitTypeDef  GPIO_InitStructure;

	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_AFIO, ENABLE);	 //使能PA时钟


	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
	GPIO_Init(GPIOA, &GPIO_InitStructure);	
	GPIO_SetBits(GPIOA,GPIO_Pin_8);
	
	RCC_MCOConfig(RCC_MCO_PLLCLK_Div2); //RCC_MCO_NoClock --- 无时钟输出 
								//RCC_MCO_SYSCLK --- 输出系统时钟(SysCLK) 
								//RCC_MCO_HSI --- 输出内部高速8MHz的RC振荡器的时钟(HSI) 
								//RCC_MCO_HSE --- 输出高速外部时钟信号(HSE) 
								//RCC_MCO_PLLCLK_Div2 --- 输出PLL倍频后的二分频时钟(PLLCLK/2)		
}
void frep_init_reg(void){
	RCC->APB2ENR|=1<<0;//使能AFIO时钟    
     RCC->APB2ENR|=1<<2;//先使能外设PORTA时钟
    GPIOA->CRH&=0XFFFFFFF0;     
    GPIOA->CRH|=0X0000000B;//PA8复用输出           
    RCC->CFGR&=~(7<<24);
    RCC->CFGR|=6<<24;   //HSI OUT 8Mhz
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值