OpenEdv-开源电子网

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

TFTLCD操作快速I0口设置不能理解

[复制链接]

18

主题

44

帖子

0

精华

初级会员

Rank: 2

积分
138
金钱
138
注册时间
2013-7-6
在线时间
0 小时
发表于 2013-8-11 19:25:00 | 显示全部楼层 |阅读模式
            


不能理解这两个方式咋就可以改变IO的速度,快速IO口是不是把LCD_RS,LCD_CS,LCD_WR都设置成1,看数据手册的意思就是这么回事。难道把LCD_RS,LCD_CS,LCD_WR都设置成高就是把IO口设置成快速的?

对TFT这章书上给的函数很是不理解,比喻下面这个

后面那个注释“写地址”怎么理解?

 

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-8-11 20:14:12 | 显示全部楼层
回复【楼主位】lingyue502:
---------------------------------
1,快速IO是STM32F103的一个功能,可以加快IO口设置的速度,普通的IO设置用的是ODR寄存器,快速IO是BSRR/BRR寄存器.
2,写地址是对LCD来说的,LCD在RS为0的时候,表示写地址.RS为1的时候,表示写数据.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

18

主题

44

帖子

0

精华

初级会员

Rank: 2

积分
138
金钱
138
注册时间
2013-7-6
在线时间
0 小时
 楼主| 发表于 2013-8-11 20:26:08 | 显示全部楼层
谢谢,明白了不少,但是还有一个问题写8位数据的两个函数应该里面的操作命令应该是一样的。但是那个宏定义里面把PC9,PC8,PC7,PC6(LCD_RD_SET)都给的是1,这个和那个慢速的写8位数据的函数操作命令不就不一样了吗?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-8-11 21:32:44 | 显示全部楼层
回复【3楼】lingyue502:
---------------------------------
请先看这两个寄存器的描述,再提问.别猜测.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

18

主题

44

帖子

0

精华

初级会员

Rank: 2

积分
138
金钱
138
注册时间
2013-7-6
在线时间
0 小时
 楼主| 发表于 2013-8-11 22:27:36 | 显示全部楼层
             ,刚学习,谢谢啊
回复 支持 反对

使用道具 举报

1

主题

4

帖子

0

精华

新手入门

积分
28
金钱
28
注册时间
2013-8-1
在线时间
0 小时
发表于 2013-8-12 11:00:00 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
请教原子哥,这个地方的
#define LCD_WR_DATA(data){\
LCD_RS=1;\
LCD_CS=0;\
DATAOUT(data);\
LCD_WR=0;\
LCD_WR=1;\
LCD_CS=1;\

问题一:{}括号在这里能不能不用?之前看到多个语句也可以直接写在一行上,用;
问题二:{}括号里边的\是什么作用,是C语言的语法吗,没找到,能简单说下吗?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-8-12 22:03:24 | 显示全部楼层
这就是个宏定义,可以不用括号.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

59

主题

189

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
451
金钱
451
注册时间
2012-4-11
在线时间
1 小时
发表于 2013-8-12 23:00:45 | 显示全部楼层
回复【6楼】姜宇:
---------------------------------
\好像是转义符  可以百度下c语法
回复 支持 反对

使用道具 举报

2

主题

1446

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2256
金钱
2256
注册时间
2010-12-16
在线时间
206 小时
发表于 2013-8-12 23:10:01 | 显示全部楼层
不用括号有潜在问题,比如

if (1 = i)
    LCD_WR_DATA(0x12);

这个代码的行为就不能正确反映设计意图了.当然习惯了加括号就没有这个问题.如果是A写的代码,B调用,这就不是好的代码.
技术讨论请发帖 , 需要我回复请点左下的 < 回复 > 让系统通知我 . 本人不通过其他方式返回任何参数.
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-8-13 01:06:13 | 显示全部楼层
回复【9楼】shihantu:
---------------------------------
确实,这个是个隐患。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

2

主题

1446

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2256
金钱
2256
注册时间
2010-12-16
在线时间
206 小时
发表于 2013-8-13 01:21:55 | 显示全部楼层
回复【10楼】正点原子:
---------------------------------
加了括号的话,在另一个场合会出错,但编译器会提示,所以不是隐患.

if (1 == i) 
    LCD_WR_DATA(0x12); 
else
    LCD_WR_DATA(0x34); 

这时,编译器会提示else没有对应的if,因为前面有两个语句,一个是宏定义的{},一个事宏定义后面的;,但可以通过提示找到问题并改进,而不会留下隐患.

8L有个小错误,在
if (1 = i) 
这里.明显看到赋值和判断搞错了,如果常量写在前面,编译器会提示左值不可修改,常量写后面就是不报错,变成隐患了.
技术讨论请发帖 , 需要我回复请点左下的 < 回复 > 让系统通知我 . 本人不通过其他方式返回任何参数.
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-8-13 09:54:25 | 显示全部楼层
回复【11楼】shihantu:
---------------------------------
嗯,if,else吧冒号去掉就是了.
另外我一般还是习惯if(i==1),不习惯把数字写前面,个人习惯吧.
编译器看到if(i=1),其实也会提示你有问题,自己就会知道什么原因了.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

2

主题

1446

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2256
金钱
2256
注册时间
2010-12-16
在线时间
206 小时
发表于 2013-8-13 10:49:32 | 显示全部楼层
回复【12楼】正点原子:
---------------------------------
的确是这样.
技术讨论请发帖 , 需要我回复请点左下的 < 回复 > 让系统通知我 . 本人不通过其他方式返回任何参数.
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-15 07:28

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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