OpenEdv-开源电子网

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

通过STM32 的FSMC接口连接外设的偏移地址选择问题

[复制链接]

12

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
131
金钱
131
注册时间
2017-10-19
在线时间
15 小时
发表于 2018-6-29 11:07:14 | 显示全部楼层 |阅读模式
令RS是命令数据标志 0:读写命令;1:读写数据(依据战舰V3 LCD和以太网实验做出的推断)
RS连A0: 地址偏移量:0x0
RS连A1: 地址偏移量:0x02
RS连A2: 地址偏移量:0x06
RS连A3: 地址偏移量:0x0E
RS连A4: 地址偏移量:0x1E
RS连A5: 地址偏移量:0x3E
RS连A7: 地址偏移量:0x7E
RS连A10: 地址偏移量:0x7FE
RS连A15: 地址偏移量:0xFFFE
地址偏移量列举的值对吧,但不是很清楚为啥是这样的。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

6

主题

38

帖子

0

精华

初级会员

Rank: 2

积分
192
金钱
192
注册时间
2016-3-13
在线时间
36 小时
发表于 2018-7-1 08:15:21 | 显示全部楼层
你这个偏移应该不对吧,基址=基址+(1<<Ax)
回复 支持 反对

使用道具 举报

12

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
131
金钱
131
注册时间
2017-10-19
在线时间
15 小时
 楼主| 发表于 2018-7-1 08:36:34 | 显示全部楼层
能否解释一下为啥?
回复 支持 反对

使用道具 举报

6

主题

38

帖子

0

精华

初级会员

Rank: 2

积分
192
金钱
192
注册时间
2016-3-13
在线时间
36 小时
发表于 2018-7-1 12:40:38 | 显示全部楼层
annqian 发表于 2018-7-1 08:36
能否解释一下为啥?

1,fsmc按照分区来使用的,4*64M,每个区间地址空间大小是64M。
2,fsmc的地址有接线口26个分别接在不同的gpio上,2^26=64M。
3,如果你给*((u32*)0x60000000)= 0x1fff写数据,那么地址对应的GPIO口上全是0。16位数据对应的GPIO就是0x1fff。
4,其实A[25:0]对应的是基址0x60000000的后26位,它们是一一对应的关系。
5,A[25:0]又对应26个IO,所以你直接往(基址+偏移量)的地址总线上写数据,fsmc自动就发出并口时序,同时把地址数值反应到A[25:0]对应的26个IO上,16位数据直接反应到数据io口上。
回复 支持 反对

使用道具 举报

12

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
131
金钱
131
注册时间
2017-10-19
在线时间
15 小时
 楼主| 发表于 2018-7-5 09:53:42 | 显示全部楼层
明白了,谢谢!
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-11 13:25

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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