OpenEdv-开源电子网

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

结构体地址自增多少?

[复制链接]

14

主题

45

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2017-9-6
在线时间
20 小时
发表于 2017-9-6 23:18:16 | 显示全部楼层 |阅读模式
1金钱
我在看原子的《 LCD液晶显示实验》时看到

//LCD地址结构体
typedef struct
{
        vu16 LCD_REG;
        vu16 LCD_RAM;
} LCD_TypeDef;
#define LCD_BASE        ((u32)(0x6C000000 | 0x000007FE))

#define LCD             ((LCD_TypeDef *) LCD_BASE)
16位地址再加1(对应到8位地址是加2,即7FE+0X02)
LCD_REG地址是0X6C0007FE我懂,但为什么LCD_RAM地址加0X02而不是0X01或其他呢?
求助求助求助!!!



最佳答案

查看完整内容[请看2#楼]

u8一个字节 u16两个字节 1个地址放一个字节
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

6

主题

108

帖子

1

精华

高级会员

Rank: 4

积分
716
金钱
716
注册时间
2017-4-25
在线时间
203 小时
发表于 2017-9-6 23:18:17 | 显示全部楼层
u8一个字节 u16两个字节 1个地址放一个字节
回复

使用道具 举报

14

主题

45

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2017-9-6
在线时间
20 小时
 楼主| 发表于 2017-9-7 19:51:49 | 显示全部楼层
哦,这样啊,u32就是4个喽?
回复

使用道具 举报

64

主题

446

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1032
金钱
1032
注册时间
2017-7-26
在线时间
275 小时
发表于 2017-9-14 15:32:20 | 显示全部楼层
百度吧,结构体在内存排列的三大规则。没有这么简单的。
回复

使用道具 举报

33

主题

1628

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6679
金钱
6679
注册时间
2015-8-25
在线时间
1036 小时
发表于 2017-9-14 18:08:07 | 显示全部楼层
为啥是7FE呢?因为LCD_RAM是vu16型的,两个字节。7FE+2=800;这个7和8是有区别的,7是0111,8是1000,不同之处是这个bit3,7的时候bit3是0,8的时候bit3是1,这个7和8决定了是写寄存器还是数据的
回复

使用道具 举报

1

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
128
金钱
128
注册时间
2020-6-30
在线时间
26 小时
发表于 2020-7-15 14:47:49 | 显示全部楼层
补充4楼,https://blog.csdn.net/weixin_36194037/article/details/79414014,这个帖子写的很详细
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-10 16:45

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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