找回密码
 注册
搜索
查看: 1859|回复: 2

[讨论] LCD_DataWrite(), LCD_CtrlWrite()是干啥用的?

[复制链接]
发表于 2009-2-10 11:12:57 | 显示全部楼层 |阅读模式
在void ***_Init(void)里面的,有很多
LCD_DataWrite(),
LCD_CtrlWrite()

网上查了一下有类似这样的代码:

Lcd_InsWrite(0x90);         //第2行
LCD_DataWrite(0xd0);        // 修
LCD_DataWrite(0xde);  
LCD_DataWrite(0xb8);       //改
LCD_DataWrite(0xa6);         
LCD_DataWrite(0xca);       //时
LCD_DataWrite(0xb1);
LCD_DataWrite(0xbc);       //间
LCD_DataWrite(0xe4);         
LCD_DataWrite(0xa3);       //?
LCD_DataWrite(0xbf);

问:
1 是用来将汉字显示在lcd上??
2
LCD_Delay()
kal_sleep_task()
for (int i; i<delay_time; ++i)

这三者用来做延时有啥区别吗?

//===============================================
还有一些注释:
//OSC ON
//Driver Output Control (R01h) SS  SM
//LCD Driving Wave Control (R02h) B/C  EOR
//Entry Mode (R03h)
//Resizing Control Register (R04h)
//rgb INTERFACE
//RGB Display Interface Control 2 (R0Fh)
//EXC SLEEP
//1.0 x Vci
// PON=0 VGL output is disable
//VREG1OUT x 0.70

等等,都是些啥意思,做驱动的是不是都要懂,
或者是否可告知再哪里可以看到相关资料谢谢!!!
发表于 2009-2-13 12:35:52 | 显示全部楼层
LCD_DataWrite(cmd);  -----------> 向LCD丢指令
LCD_CtrlWrite(data);   ------------>向LCD丢数据

LZ是MTK平台的吧,呵呵
LCD_Delay();                    ---->  函数具体是如何实现的?区别要看里面是如何实现的了
kal_sleep_task();              ---->  目前Task Sleep一段时间
for (int i=0; i<times; i++);  ---->  空循环,要根据平台指令周期来算Delay的时间了,但是如果被中断打断了,这个Delay的方法就不准了。


那些注释应该是Initial Code里面供应商提供给你的吧,你可以参照LCD Driver IC的Datasheet去了解。
点评回复

使用道具 举报

 楼主| 发表于 2009-2-13 13:30:24 | 显示全部楼层
是MTK平台,谢谢
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-10-6 09:22 , Processed in 0.054671 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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