OpenEdv-开源电子网

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

新人求助,关于寄存器操作点亮LED灯

[复制链接]

6

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
90
金钱
90
注册时间
2020-10-17
在线时间
29 小时
发表于 2020-11-12 09:47:16 | 显示全部楼层 |阅读模式
#include "stm32f10x.h"
#define  periph_base         (unsigned int)0x40000000
#define  APB2periph_base       periph_base +0x10000
#define  AHPperiph_base                periph_base +0x20000

#define  RCC_base          AHPperiph_base+0x1000
#define  GPIOB_base                     APB2periph_base+0x0C00
#define  RCC_APB2ENR                    *(unsigned int*)(RCC_base+0x18)

#define GPIOB_CRL                            *(unsigned int*)(RCC_base+0x00)
#define GPIOB_CRH                            *(unsigned int*)(RCC_base+0x04)
#define GPIOB_ODR                            *(unsigned int*)(RCC_base+0x0C)

int main()
{
    RCC_APB2ENR |=(1<<3);  //使能时钟
    GPIOB_CRL |=((1)<<(4*5));  //端口配置低寄存器
    GPIOB_ODR  &=~(1<<5);   //配置端口输出寄存器
   
}
void SystemInit(void)
{
   
}
有没有老哥知道,我这个程序为什么点不亮LED0(PB5)


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

808

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3888
金钱
3888
注册时间
2017-3-7
在线时间
1694 小时
发表于 2020-11-12 15:05:19 | 显示全部楼层
额,怎么说呢,刚开始学可能是想从0开始写,但是有些东西吧,也没必要,学会看手册知道哪些寄存器,哪些位即可。
我也没仔细查,#define GPIOB_CRL                            *(unsigned int*)(RCC_base+0x00), 看到这个宏我觉得有问题,应该是GPIOB_base吧
回复 支持 反对

使用道具 举报

6

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
90
金钱
90
注册时间
2020-10-17
在线时间
29 小时
 楼主| 发表于 2020-11-12 16:48:38 | 显示全部楼层
a5820736 发表于 2020-11-12 15:05
额,怎么说呢,刚开始学可能是想从0开始写,但是有些东西吧,也没必要,学会看手册知道哪些寄存器,哪些位 ...

老哥厉害,我看差了,GPIO的寄存器怎么会用时钟的基地址,我也不是都要搞懂,就想点个灯感受一下,终于点亮了,感谢
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-4 06:42

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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