OpenEdv-开源电子网

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

STM32f10ZE6的FSCM(TFTLCD实验)不同一个地址对应 同一个IO口的 不同输出状态

[复制链接]

3

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
140
金钱
140
注册时间
2020-6-14
在线时间
46 小时
发表于 2020-11-28 23:13:15 | 显示全部楼层 |阅读模式
15金钱
typedef struct { u16 LCD_REG; u16 LCD_RAM; } LCD_TypeDef; #define LCD_BASE ((u32)(0x6C000000 | 0x0000007E))
#define LCD ((LCD_TypeDef *) LCD_BASE)

为什么
LCD->LCD_REG 是RS=0写命令
LCD->LCD_RAM是RS=1写数据


我知道LCD_REG 地址的第11位为0
LCD_RAM地址的第11位为1


明明不同一个地址为什么可以控制同一个IO口不同输出
是怎么用地址的不同控制A10的输出的不同
按以前的思路是A10应该是同一个地址
里面地址存储的值为1时输出电位为高
而里面地址存储的值为0时输出电位为低
这样才对啊 真诚求解

最佳答案

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

使用FSCM时A25-A0还有D15-D0都是IO口,只不过使用时A25-A0是用来寻找地址的 然后用D15-D0写入或读出数据; 表示地址不同,表示地址的IO输出自然不同,也就是说表示地址的IO每一个高低电平可能有不同;如地址0x6C00007E的二进制为 0110 1100 0000 0000 0000 0000 0111 1110,31~26位是固定的,看你选以一个块哪一个区域而固定,如这里表示第一块的第四个区域, 而25~0位分别表示A25~A0的IO口输出,如第7位是0,又因为数据是16位, ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
140
金钱
140
注册时间
2020-6-14
在线时间
46 小时
 楼主| 发表于 2020-11-28 23:13:16 | 显示全部楼层
本帖最后由 13822673001 于 2020-11-29 12:05 编辑

使用FSCM时A25-A0还有D15-D0都是IO口,只不过使用时A25-A0是用来寻找地址的 然后用D15-D0写入或读出数据;
表示地址不同,表示地址的IO输出自然不同,也就是说表示地址的IO每一个高低电平可能有不同;如地址0x6C00007E的二进制为 0110 1100 0000 0000 0000 0000 0111 1110,31~26位是固定的,看你选以一个块哪一个区域而固定,如这里表示第一块的第四个区域,
而25~0位分别表示A25~A0的IO口输出,如第7位是0,又因为数据是16位,32单片机输出时会自动右移一位,所以变成第六位,也就是A6会输出0;

这样因为用的是TFTLCD只有RS用来表示输入数据还是命令,相当于只有两个地址,这样任意用一个地址的IO口连接就行,只要连接RS的IO口输出对了,其他位置的IO口输出怎么样都可以。

比如这里用A10连接了RS,只要A10输出不同,LCD就会知道输入的是数据还是命令:如地址0110 11XX XXXX XXXX XXXX 0XXX XXXX XXXX(X表示0或1,假设其它地址IO没有连接其他地方,也就没有要求),
很明显11位为0,因为是16位的,所以自动右移1位,就会变成10位为0,这样就对应着A10为0,这样就LCD就知道是命令而不是数据,
如果11变成1,LCD就会知道是数据。




回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-23 01:48

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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