登录注册
论坛
五彩晶圆(中级)
3401
0
基地址已经可以区分了,加一个相同的偏移地址有何意义?
基地址和偏移地址.png (150.84 KB, 下载次数: 0)
下载附件 保存到相册
2021-2-2 13:51 上传
扫一扫,分享给好友
一粒金砂(高级)
217
版主
9795
24
可以这么理解,GPIOA和GPIOB对应的寄存器都有一个空间
GPIOA和GPIOB的寄存器除了基地址不同外,偏移地址都相同
假设GPIOA的基地址是0x10,GPIOB的基地址是0x20
每一个gpio有3个寄存器,寄存器A,寄存器B,寄存器C
GPIOA的A寄存器地址为0x10,B为0x11,C为0x12
GPIOB的A寄存器地址为0x20,B为0x21,C为0x22
如果你不用基地址加偏移的方法来记录寄存器,上边这种你需要记录6个地址,而且GPIO和寄存器越多,需要记录的地址就越多
因为每个GPIO的偏移是相同的,如果你使用基地址加偏移的方式来记录的话
你只要记录GPIOA=0x10,GPIO2=0x20 另外 A寄存器偏移0x00,B偏移0x01,C偏移0x02
这时你要记录的是GPIO的数量+寄存器的数量,如果你用上一种方法,则是GPIO的数量*寄存器的数量。
五彩晶圆(初级)
2167
8
为了方便,你当然可以直接写寄存器的完整地址,写多了你就知道为啥了,累
总结一个简便的标识方法来表示实际地址,其他计算交给编译器,多简单。
五彩晶圆(高级)
7671
2
怕你搞错了。
默认摸鱼,再摸鱼。2022、9、28
2942
4
你做一个“查二维表”的程序就明白了,
发表回复 回帖后跳转到最后一页
EEWorld Datasheet 技术支持
查看 »