野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9880|回复: 4

跟着视频写了一个GPIOB端口点亮LED灯的程序,但下载到实验板里面就是用不了是怎么回事

[复制链接]
发表于 2017-5-3 09:21:49 | 显示全部楼层 |阅读模式
如题
这是我写的程序:
main.c:
#include"stm32f10x.h"
int main(void)
{
  RCC_APB2ERN |=((1)<<3);
//打开GPIOB端口的时钟
GPIOB_CRL_BASE &=~((0x0f)<<(4*0));
GPIOB_CRL_BASE |=((1)<<(4*0));
//配置PB0端口输出
GPIOB_ODR_BASE &=~((1)<<0);
GPIOB_ODR_BASE |=((1)<<0);
//控制ODR寄存器
}
void SystemInit(void)
{
}
头文件:stm32f10x.h
#define PERIPH_BASE     ((unsigned int)0x40000000)
#define APB1PERIPH_BASE    PERIPH_BASE
#define APB2PERIPH_BASE   (PERIPH_BASE+0x10000)
#define AHBPERIPH_BASE    (APB2PERIPH_BASE+0x10000)
#define RCC_BASE           (AHBPERIPH_BASE+0x1000)
#define GPIOB_BASE         (APB2PERIPH_BASE+0x0C00)

#define RCC_APB2ERN        *(unsigned int*)(RCC_BASE+0x18)

#define GPIOB_CRL_BASE     *(unsigned int*)(GPIOB_BASE+0x00)
#define GPIOB_CRH_BASE     *(unsigned int*)(GPIOB_BASE+0x04)
#define GPIOB_ODR_BASE     *(unsigned int*)(GPIOB_BASE+0x0C)



求各位大神帮忙看看是什么原因?
回复

使用道具 举报

发表于 2017-5-3 10:42:33 | 显示全部楼层
有没有把 微库选上 ?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-5-3 17:10:07 | 显示全部楼层
fire 发表于 2017-5-3 10:42
有没有把 微库选上 ?

选上了,但还是不行
回复 支持 反对

使用道具 举报

发表于 2017-5-4 20:46:08 | 显示全部楼层
删掉两句话就亮了啊
int main (void)
{
                 RCC_APB2ERN |=((1)<<3);
        //打开GPIOB端口的时钟

        GPIOB_CRL_BASE |=((1)<<(4*0));
        //配置PB0端口输出
        GPIOB_ODR_BASE &=~((1)<<0);

//控制ODR寄存器
}
回复 支持 反对

使用道具 举报

发表于 2017-5-8 13:30:43 | 显示全部楼层
程序最后加一句while(1);让程序进入死循环,灯就会一直亮了,不加的话轻微亮一下就不再亮了
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-5-20 11:03 , Processed in 0.036362 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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