OpenEdv-开源电子网

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

针对FSMC驱动LCD的地址问题(战舰V3)

[复制链接]

5

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2016-9-10
在线时间
17 小时
发表于 2016-10-20 13:15:53 | 显示全部楼层 |阅读模式
以下所说的都是我自己理解的,我是很白的小白,学东西不喜欢学的似懂非懂,所以把我的感悟写下来,这里可能错误百出,但是我说服了我自己。请大神指出我的错误,共同进步。

RS通过硬件与A10相连,CS通过硬件选择了Bank1的区四,那么我们就可以知道基地址是0X6C000000。接着推算A10的偏移量。地址是内存的编号,且每一个字节就要有一个地址值。这一点清楚
0x6C00000 0000  (我将最后一位16进制转成了2进制 书写有些不规范)
0x6C00000 0001                                                                                  这两个对应的是 A0    (为什么A0对应两个地址值(两个字节)? 因为外设是16位的。)哪到底用谁来映射A0呢?
此时我们将上面的地址右移一位 (只关注最后一个16进制位) 变成了 0000  它就是A0的地址,A0 = 0

A1   0x6C00000 0010  0x6C00000 0011   右移一位 为0001  此时A1 = 0


如何快速找到A10:   A10在32内部 111,1111,1110  相当于(A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0),(只是满足这样的规律,真正的地址不是一位)。然后右移一位 011,1111,1111 对应到A10  此时A10 = 0,即LCD_REG = 0。

结构体是一片连续的内存,且程序中定义的结构体类型成员是16位,那么LCD_RCG  在32内部位  为111,1111,1111 这不对, 因为这个应该是A10的第二个字节的地址。 正确的是1000,0000,0000 它右移一位 0100,0000,0000  此时A11 = 0 A10 = 1 即 LCD_RCG = 1.    第一次作为生产者发帖。  好鸡冻。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

106

主题

418

帖子

0

精华

高级会员

Rank: 4

积分
764
金钱
764
注册时间
2016-7-26
在线时间
123 小时
发表于 2016-10-20 13:27:02 | 显示全部楼层
那历程上一直用两个地址,其他不用,何解????
回复 支持 反对

使用道具 举报

5

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2016-9-10
在线时间
17 小时
 楼主| 发表于 2016-10-20 18:09:38 | 显示全部楼层
慕名兰 发表于 2016-10-20 13:27
那历程上一直用两个地址,其他不用,何解????

一直在用哪两个地址? 我不太明白
回复 支持 反对

使用道具 举报

106

主题

418

帖子

0

精华

高级会员

Rank: 4

积分
764
金钱
764
注册时间
2016-7-26
在线时间
123 小时
发表于 2016-10-21 22:43:57 | 显示全部楼层
WTE 发表于 2016-10-20 18:09
一直在用哪两个地址? 我不太明白

历程上用的是0X6C000800,还有一个是0X6C0007FE我不太记得了。。。
其他的地址就没用了、、、、、
回复 支持 反对

使用道具 举报

5

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2016-9-10
在线时间
17 小时
 楼主| 发表于 2016-11-7 22:35:25 | 显示全部楼层
WTE 发表于 2016-10-20 18:09
一直在用哪两个地址? 我不太明白

因为LCD的RS连接的是FSMC的A10地址引脚呀,FSMC的A10地址从基地址推算不就是那两个地址吗?可以用别的地址引脚的。
回复 支持 反对

使用道具 举报

5

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2016-9-10
在线时间
17 小时
 楼主| 发表于 2016-11-7 22:35:50 | 显示全部楼层
WTE 发表于 2016-10-20 18:09
一直在用哪两个地址? 我不太明白

因为LCD的RS连接的是FSMC的A10地址引脚呀,FSMC的A10地址从基地址推算不就是那两个地址吗?可以用别的地址引脚的。
回复 支持 反对

使用道具 举报

5

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2016-9-10
在线时间
17 小时
 楼主| 发表于 2016-11-7 22:36:37 | 显示全部楼层
WTE 发表于 2016-10-20 18:09
一直在用哪两个地址? 我不太明白

因为LCD的RS连接的是FSMC的A10地址引脚呀,FSMC的A10地址从基地址推算不就是那两个地址吗?可以用别的地址引脚的。
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-25 00:32

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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