高级会员

- 积分
- 997
- 金钱
- 997
- 注册时间
- 2017-8-19
- 在线时间
- 160 小时
|
1金钱
我写了一个自己写了一个点灯代码,如下:
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,使用浮点运算,灯不亮
以上情况只有第一种会亮,我想知道为什么!!!
谢谢,祝各位在新的一年万事顺利,身体健康,开开心心!!
|
|