自己写的寄存器版的LED不亮

2019-07-21 00:42发布

代码如下:
test.c:
=========================
#include "sys.h"
#include "delay.h"
#include "led.h"

int main(void){

    Stm32_Clock_Init(336,8,2,7);//设置时钟,168Mhz 
    delay_init(168); //初始化延时函数
    LED_Init();
    while(1){
    GPIOF->ODR &= ~(0x1<<9);
    delay_ms(1000);
    GPIOF->ODR |= (0x1<<9);
    delay_ms(1000);
    }

}
=========================

led.c
=========================
#include "stm32f4xx.h"  //在SYSTEM目录下可以找到

void LED_Init(void){

    RCC->AHB1ENR = 1<<5;  //使能GPIO端口的F时钟
    GPIOF->ODR |= 0x1<<9;
    GPIOF->MODER |= 0x1 << 9;

}
=========================


led.h
=========================
#ifndef _LED_H
#define _LED_H


void LED_Init(void);

#endif
=========================

注:我的开发板是正点原子的探索者,上述这个程序是自己写的;
把正点原子的例程下进去,可以运行,所以硬件是OK的;
但是下载自己写的代码,LED灯没有任何反应;肯定是我代码编写的问题,
但是查看了手册,对照寄存器配置,还是找不出问题所在;还有一点是,
因为有些寄存器没有用着,所以我就用默认设置来处理了。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。