关于STM32的晶振

2019-07-20 09:22发布

我写了一个自己写了一个点灯代码,如下:

void LED_Init(void)
{
        RCC->AHB1ENR |= 1 << 5;                                        //使能GPIOF
       
        GPIOF->MODER &= ~(0X3 << 18);                //清理处理
        GPIOF->MODER &= ~(0X3 << 20);
       
        GPIOF->MODER |= (0X1 << 18);                //配置为输出模式
        GPIOF->MODER |= (0X1 << 20);
       
        GPIOF->OTYPER &= ~(0X1 << 9);                //推挽输出
        GPIOF->OTYPER &= ~(0X1 << 10);
       
        GPIOF->PUPDR &= ~(0X3 << 18);                //清理处理
        GPIOF->PUPDR &= ~(0X3 << 20);
        GPIOF->PUPDR |= (0X1 << 18);                //上拉
        GPIOF->PUPDR |= (0X1 << 20);
       
        GPIOF->ODR |= 1 << 9;                                                //灯灭
        GPIOF->ODR |= 1 << 10;
}



现在的问题是:  (灯在mian函数里面被我点亮)
①KEIL里面默认是12M外部晶振,没有使用浮点运算,灯是可以亮的
②KEIL里面设置为8M外部晶振(按照原子哥的说明),不使用浮点运算,灯不亮
③8M,使用浮点原酸,不亮
④12M,使用浮点运算,灯不亮

以上情况只有第一种会亮,我想知道为什么!!!
谢谢,祝各位在新的一年万事顺利,身体健康,开开心心!!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。