OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5476|回复: 1

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

[复制链接]

21

主题

51

帖子

0

精华

初级会员

Rank: 2

积分
140
金钱
140
注册时间
2015-12-4
在线时间
10 小时
发表于 2015-12-10 11:55:13 | 显示全部楼层 |阅读模式
5金钱
代码如下:
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灯没有任何反应;肯定是我代码编写的问题,
但是查看了手册,对照寄存器配置,还是找不出问题所在;还有一点是,
因为有些寄存器没有用着,所以我就用默认设置来处理了。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

21

主题

51

帖子

0

精华

初级会员

Rank: 2

积分
140
金钱
140
注册时间
2015-12-4
在线时间
10 小时
 楼主| 发表于 2015-12-10 13:08:35 | 显示全部楼层
知道答案了,是我的moder寄存器的移位移错了,不是9,而是18
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-25 18:35

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表