阅读:4284回复:22
STN液晶驱动 |
|
论坛版主
|
沙发#
发布于:2005-06-30 15:05
显示驱动和具体的显示器(屏)没关系三,只是不同的架构对操作硬件有影响。有的显示屏(模块)直接连到SOC的LCD控制器,有的又连到系统总线,有的在扩展总线(比如TFT一般都是单独的显示屏,通过RGB和同步信号等信号和显卡连接,你操作的实际是显卡,不关心显示屏)。
|
|
板凳#
发布于:2005-06-30 20:45
谢谢!!
我明白 了,还有个问题:HAL中的fw.c中对CPU的LCDCONTROL的配置和DRIVER中的DisplayInit及GPE中void S3C2410DISP::InitializeHardware (void)的配置,有什么区别和联系呢。 我是新手,对GPE不是很了解,能指点指点或者应该看什么资料呢,帮助我看了,很迷茫。 有劳大虾了 |
|
论坛版主
|
地板#
发布于:2005-07-05 15:29
初始化的工作在什么地方可以自由选择,没什么绝对标准,不过一般在驱动中的POWERUP里面做比较好,这样可以最大程度代码共享,驱动除了输出POWERUP的接口,也可以在启动时显示调用。
你可以看MSDN中关于显示驱动的帮助,并结合你的BSP的源代码看 |
|
地下室#
发布于:2005-07-07 15:43
在调试液晶屏驱动的时候串口出现了以下信息:
Windows CE Kernel for ARM (Thumb Enabled) Built on Mar 13 2003 at 22:52:56 ProcessorType=0920 Revision=0 sp_abt=ffff5000 sp_irq=ffff2800 sp_undef=ffffc800 OEMAddressTable = 8c201280 Windows CE Firmware Init INFO: Initializing system interrupts... INFO: Initializing system clock(s)... INFO: Initializing driver globals area... rLCDCON1 : 1f9 rLCDCON2 : 109fc302 rLCDCON3 : 181df10 rLCDCON4 : d60 rLCDCON5 : 14809 rLCDSADDR1 : 18080000 rLCDSADDR2 : cb000 rLCDSADDR3 : 1e0 rLCDINTMSK : 3 rLPCSEL : 0 rTPAL : 0 SDMMC config current rGPGCON: ff95fdba SDMMC config set rGPGCON: ffa5fdba SDMMC config Init Done. OEMInit Done... Sp=ffffc7cc OEMSetRealTime: Year: 2003, Month: 9, Day: 1, Hour: 12, Minute: 0, second: 0 rcnr=1h OEMSetRealTime(register): Year: 3, Month: 9, Day: 1, Hour: 12, Minute: 0, second: 0 rcnr=1h FMD::FMD_Init Prescaler:2 384 clock USB:OhcdPdd_Init ++InitializeOHCI USB:*pIrq=11, *pioPortBase=0x2B0000 OHCD: MapIrq2SysIntr(11): 27 OHCD: Memory Object --InitializeOHCI +CS8900:DriverEntry ::: PBT_InitializeAddresses - Success charlie::SDIO::SDHOST::SDCSDCardDllEntry::DLL_PROCESS_ATTACH ::: SYSINTR_SDMMC OEMInterruptDisable ::: SYSINTR_DMA0 OEMInterruptDisable ::: SYSINTR_SDMMC_CARD_DETECT OEMInterruptEnable ::: SYSINTR_SDMMC_SDIO_INTERRUPT OEMInterruptEnable --S3C2410DISP::InitializeHardware Data Abort: Thread=8fd8f9b0 Proc=8e026b08 'gwes.exe' AKY=00000009 PC=03fc291c RA=033715e8 BVA=08150000 FSR=00000007 Data Abort: Thread=8fd8f9b0 Proc=8e026b08 'gwes.exe' AKY=00000009 PC=00054a54 RA=0004cd04 BVA=08000008 FSR=00000007 请问大虾这是什么原因呢? |
|
论坛版主
|
5楼#
发布于:2005-07-07 19:26
这个你要仔细看你的显示驱动啊,data abort肯定是访问不可访问的地址造成的,一般有两个可能:1.你用的地址没有经过合适的转换,在驱动中使用的地址必须是动态映射的虚拟地址,不能使用物理地址和内核使用的虚拟地址;2.一个进程的指针传到另外一个进程使用时需要转换。
|
|
6楼#
发布于:2005-07-09 09:10
谢谢斑竹!!
问题解决了,是虚拟内存不足造成的,虚拟内存扩大了4倍,就好了 不好意思,还有个问题请教如何把屏反转90度,我看到了在驱动程序里有 #ifdef ROTATE m_iRotate = DMDO_180; SetRotateParms(); #endif //ROTATE 很菜的问题,我修改了m_iRotate = DMDO_180;的值但是没有反映,如何修改呢? |
|
论坛版主
|
7楼#
发布于:2005-07-11 15:32
这个要看你的驱动是怎么写的了,如果需要旋转,你还得实现几个成员函数:SetRotateParms,DynRotate等,还有其他一些函数里面也要加些代码,你可以参考三星那个bsp做
|
|
8楼#
发布于:2005-07-26 11:05
谢谢斑竹,最近在调试一个外接的硬件,好麻烦
我就是用的三星的BSP,里面的函数都实现了,我把关于ROTATE的的条件编译的注释掉了,保留的只有跟ROTATE相关的选项,可是还不能实现反转,是什么问题呢?在CE系统里,还要有相关的设置么 |
|
论坛版主
|
9楼#
发布于:2005-07-26 13:49
你要的反转是什么效果?是系统管理,还是你要一切都是反的?如果是后者,其实你可以人为把显示缓冲的数据倒过来。如果是前者,有好几个地方都可以实现,应用里面可以旋转,驱动也可以,我没有试过驱动的旋转接口是不是很好地工作,兄弟只有试试看了。
|
|
10楼#
发布于:2005-07-31 08:50
谢谢斑竹:
我的CSTN屏调好了,忙了将近一个周的时间,终于正常使用了,可以进行旋转了,但是DISPLAY。CPP里的一些函数的功能现在还是搞不明白,怎么能搞明白啊。现在这样的感觉:除了寄存器参数的设置,主要的是对显示的缓存进行按照自己所需求的设置,然后,在在DISPLAY。CPP里,对缓存里的数据进行相关的处理,不知道这样理解,对不对? |
|
11楼#
发布于:2005-08-01 06:19
大哥,你是怎么实现ROTATE的啊?
我加了#define ROTATE以后什么效果都没有啊 |
|
12楼#
发布于:2005-08-01 06:19
大哥,你是怎么实现ROTATE的啊?
我加了#define ROTATE以后什么效果都没有啊 |
|
论坛版主
|
13楼#
发布于:2005-08-01 16:31
要完全搞明白得费些功夫,看看DISPLAY得DDI函数怎么调用下层PDD的就会清楚很多,但是也只是一部分,这部分内容还是比较多的,特别设计DDRAW DSHOW等
PANZHENJIE在询问你怎么弄得,有空给他指点指点吧:) |
|
14楼#
发布于:2005-08-03 20:03
不好意思,这两天没上网。
再调试一个界面程序;我根据斑竹的建议也在看原代码,我的哪个程序是根据一个样本程序修改的,我可以把程序传过去,参考参考。不过现在我还没有完全搞懂,也在看。 现在还有个问题:就是鼠标的焦点不准确,不知道调哪个函数 |
|
15楼#
发布于:2005-08-03 20:08
不好意思,这两天没上网。
再调试一个界面程序;我根据斑竹的建议也在看原代码,我的哪个程序是根据一个样本程序修改的,我可以把程序传过去,参考参考。不过现在我还没有完全搞懂,也在看。 现在还有个问题:就是鼠标的焦点不准确,不知道调哪个函数 |
|
论坛版主
|
16楼#
发布于:2005-08-04 14:42
嗯,那panzhenjie,你有什么问题可以写信给wmq123请教
焦点问题你得调触摸屏驱动,一般的触摸屏都有误差,而且屏中间好些,越往两边差越多,在边缘的地方你可以修正这些坐标值 |
|
17楼#
发布于:2005-08-07 08:35
斑竹:
我的液晶屏是STN的,没有用触摸屏,鼠标的焦点不准,没办法使用鼠标,但是靠两边比较准确。但是在TFT中,修改屏没有遇到这种情况。斑竹指点! 那位老兄还没跟我联系,我们可以多交流交流。 |
|
18楼#
发布于:2005-08-07 15:55
两位老大,不好意思,上这个论坛的时候漏看这个贴了,今天才看到~~~
这个液晶显示屏确实麻烦,我现在先不考虑什么旋转的问题了 一块240*320的TFT是显示的时候出现叠影,明显影响画制,也不知道要改些什么 一块640*480的TFT是显示的时候出现闪烁,改了些地方(应该是刷新率吧~~~),可是没效果,正郁闷那 |
|
19楼#
发布于:2005-08-07 15:59
我做的液晶屏的触摸屏到都不错,改了改驱动,再校准之后记下参数,基本点哪是哪
可惜不能用鼠标,一个usb光电鼠标插上去,鼠标不亮,汗,估计电源的驱动能力太弱了 |
|
上一页
下一页