OpenEdv-开源电子网

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

请问LED为什么不亮,地址不对吗?

[复制链接]

5

主题

10

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2023-2-5
在线时间
8 小时
发表于 2023-2-28 23:56:41 | 显示全部楼层 |阅读模式
1金钱
// 点亮一个LED
#include "stm32f10x.h"
int main (void)
{
        //打开GPIOB端口的时钟
        *(unsigned int *)0x40021018 |= (1<< 3);
       
        *(unsigned int *)0x40010C00 &= ~(0x0f<<(4*5));
       
        //配置IO口
        *(unsigned int *)0x40010C00 |= (1<<(4*5));
       
        //配置ODR寄存器
        *(unsigned int *)0x40010C0C &= ~(1<<5);
       
}




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

使用道具 举报

5

主题

10

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2023-2-5
在线时间
8 小时
 楼主| 发表于 2023-3-1 09:12:00 | 显示全部楼层
PB5已经解决,但是换成PE5就不亮了。
回复

使用道具 举报

3

主题

800

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3775
金钱
3775
注册时间
2017-3-7
在线时间
1645 小时
发表于 2023-3-1 10:21:17 | 显示全部楼层
首先跟手册确认地址是否正确,其次根据寄存器描述确认与或操作是否正确
回复

使用道具 举报

5

主题

10

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2023-2-5
在线时间
8 小时
 楼主| 发表于 2023-3-1 12:08:51 | 显示全部楼层
本帖最后由 弹星者1911 于 2023-3-1 12:12 编辑
a5820736 发表于 2023-3-1 10:21
首先跟手册确认地址是否正确,其次根据寄存器描述确认与或操作是否正确

//打开GPIOEE端口的时钟
        *((unsigned int *)0x40021018) |= (1<< 3);
        
我去,看手册才知道,是时钟配错了,对于PE5,应该是左移6位。谢谢。
回复

使用道具 举报

28

主题

360

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1027
金钱
1027
注册时间
2021-2-4
在线时间
146 小时
发表于 2023-5-19 09:49:34 | 显示全部楼层
真的有必要用寄存器开发吗
我觉得知道寄存器干什么的就好了吧
调试的时候可以认识就行
回复

使用道具 举报

3

主题

800

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3775
金钱
3775
注册时间
2017-3-7
在线时间
1645 小时
发表于 2023-5-19 13:28:55 | 显示全部楼层
电子控2021 发表于 2023-5-19 09:49
真的有必要用寄存器开发吗
我觉得知道寄存器干什么的就好了吧
调试的时候可以认识就行

如果是工作了,其实没必要,现在芯片厂商大多有图形化配置界面+芯片库,拿来用就好了,快速原型开发,有问题再细究
如果学生,有时间研究,可以看看,会提高自身水平.
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-24 08:43

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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