展讯LCD接口使用说明

合集下载

MIPILCD调试总结(转载)

MIPILCD调试总结(转载)

MIPILCD调试总结(转载)近来在⽤SSD2828驱动⼩⽶屏,没有代码,没有技术⽀持,⾃⼰写代码反复调试,整死我了,⽬前已经能正常显⽰图⽚,现在总结⼀下与⼤家分享⼀下,要点:1. ⼩⽶3屏的分辨率是19201080, 24bit, ⾏列像素点为10801920, 默认显⽰⽅式为从左->右,上->下,这个可以通过DCS指令修改.2. SSD2828⼿册上说SSD2828⼀⾏最⼤可显⽰1920个像素点(60Hz),⽽官⽹上说SSD2828的最⼤分辨率为1920x1200,所以我⼀直认为SSD2828⾏像素最⼤可设置为1920,列最⼤像素可设置为1200,实际上驱动⼩⽶3屏时,⾏列分别设置为1080*1920.3. 要⽤SSD2828最新的⼿册,⽬前能找到的是V1.3,旧版本有些地⽅是错的,误导⼈.4. SSD2828 RGB接⼝和MIPI接⼝的位数是⼀起设置的(通过B6寄存器设置),即没有RGB为24bit,MIPI为16bit的这种情况.5. SSD2828可⽀持的16,18,24bit的屏,⽽有的屏不⽀持16bit的,如⼩⽶3的屏就不⽀持,这个要看清楚.6. 屏的data lane和SSD2828设置的要⼀致7. SSD2828的VBP, VFP, HBP, HFP,和CPU这端设置不能⼀致,显⽰不正常,我也不知道为什么.驱动初始化包括SSD2828,LCD屏的初始化1. SSD2828初始化主要有设置PLL, 设置LCD参数(分辨率,VBP, VFP, HBP, HFP).CPU这端的Pclk设置为90~120MHz, SSD2828 PLL output为800MHz左右,900以上有些危险,⼲扰⼤(跟PCB有关系咯)2. SSD2828提供给CPU接⼝,通过DCS设置LCD的⼀些参数,这个要看LCD⼿册有哪些参数要设置,最主要的是0x29,0x11指令, 让LCD exit sleep mode和display on.屏不显⽰可能有⼏种情况1. 0x29,0x11指令发送不对,LCD没收到,⼀直在sleep状态.2. 屏要显⽰,data lane上肯定有波型,如果data lane波型都没有,那就是ssd2828都没有配置好,跟CPU这端没有关系.3. data lane有波型,可能跟C9, CA, CB,这⼏个寄存器有关,随便设置⼏个值试⼀下(最⼤,最⼩,中间值),我调试了⼀周,就是C9没有设置对,所以⼀直没显⽰屏幕抖动可能跟VBP, VFP, HBP, HFP,这⼏个参数有关,修改SSD2828和CPU LCD controler的这⼏个参数试⼀下颜⾊过度失真,右能跟B6寄存器中的PCLK_P和0xDB中的CLK_DELAY_SEL有关,我设置PCLK_P为1, CLK_DELAY_SEL为0,显⽰图⽚就好了.不⾏可修改CLK_DELAY_SEL试⼀下,再不⾏我也没办法了.除了必须设置的参数外,对显⽰有影响的寄存器主要有:C9, CA, CB, DB, DD, ED, 调试中主要修改了这些寄存器************************在展讯平台上点亮MIPI接⼝屏正常显⽰需要满⾜以下⼏条就可以:1:确认Lcd的驱动⽂件被正常编译编译进去,并且lcd 和board name⾥⾯注册⼀质,我有⼀次就是因为编译出现问题了,导致在kernel中⽆法正确读取LCD的ic的id,导致系统加载屏的驱动失败,造成系统进⼊kernel显⽰花屏,这部分是⾮常重要的,假如未能正确的编译进系统,你再怎么调试,屏照样⽆法正常的显⽰,这⾮常的关键!2. 必须保证数据能够正确的传输到屏上,我有⼀次调试屏驱动时,发现屏上的显⽰始终是⼀些横竖条纹,或者直接灰屏,通过在⽰波器上检测屏引脚的波形,发现屏上的数据不正常,根本没有切换到hp下刷数据,导致屏⽆法正常的显⽰,⼀般在读取ic 的id和初始化设置指令时,都是在mipi的低速(lp)模式下,在初始化完成后,需要切换到⾼速(hp)状态下,才能正常的显⽰!3. 必须保证ic设置的proch和timing,通道,速率正确,屏才可以正常的显⽰,⼀般显⽰出现花屏,显⽰偏移等问题,通常情况下,就是因为你设置的某些参数不正确,导致显⽰异常!4:仔细检查上电同时测量,同时将28根rgb interface对应gpio设为lcdc func。

LCD屏接口详解

LCD屏接口详解

LCD的接口有多种,分类很细。

主要看LCD的驱动方式和控制方式,目前手机上的彩色LCD的连接方式一般有这么几种:MCU模式,RGB模式,SPI模式,VSYNC模式,MDDI模式,DSI模式。

MCU模式(也写成MPU模式的)。

只有TFT模块才有RGB接口。

但应用比较多的就是MUC模式和RGB 模式,区别有以下几点:1.MCU接口:会解码命令,由timing generator产生时序信号,驱动COM和SEG驱器。

RGB接口:在写LCD register setting时,和MCU接口没有区别。

区别只在于图像的写入方式。

2.用MCU模式时由于数据可以先存到IC内部GRAM后再往屏上写,所以这种模式LCD可以直接接在MEMORY的总线上。

用RGB模式时就不同了,它没有内部RAM,HSYNC,VSYNC,ENABLE,CS,RESET,RS可以直接接在MEMORY的GPIO口上,用GPIO口来模拟波形.3.MPU接口方式:显示数据写入DDRAM,常用于静止图片显示。

RGB接口方式:显示数据不写入DDRAM,直接写屏,速度快,常用于显示视频或动画用。

MCU接口和RGB接口主要的区别是:MCU接口方式:显示数据写入DDRAM,常用于静止图片显示。

RGB接口方式:显示数据不写入DDRAM,直接写屏,速度快,常用于显示视频或动画用。

MCU模式因为主要针对单片机的领域在使用,因此得名.后在中低端手机大量使用,其主要特点是价格便宜的。

MCU-LCD接口的标准术语是Intel提出的8080总线标准,因此在很多文档中用I80 来指MCU-LCD屏。

主要又可以分为8080模式和6800模式,这两者之间主要是时序的区别。

数据位传输有8位,9位,16位,18位,24位。

连线分为:CS/,RS(寄存器选择),RD/,WR/,再就是数据线了。

优点是:控制简单方便,无需时钟和同步信号。

缺点是:要耗费GRAM,所以难以做到大屏(3.8以上)。

1.8寸LCD模块用户手册说明书

1.8寸LCD模块用户手册说明书

1.8inch LCD ModuleUSER MANUALOVERVIEWThis product is 1.8inch resistive screen module with resolution 128x160. It has internal controller and uses SPI interface for communication. It has already basic functions: setting the point size, the line thickness, drawing circle, rectangle, and displaying English characters.We provide Raspberry Pi, STM32 and Arduino routines for this product.FEATURESDisplay type: TFTInterface: SPIDriver: ST7735SColors: 256KResolution: 128 x 160 (Pixel)Product size: 56.5 x 34(mm)Display size: 35.4(W) x 28.03(H)(mm)Pixel size: 0.219(W) x 0.219(H)(MM)Operating temperature: -30°C ~ 85°CINTERFACE DESCRIPTIONMarking Description3V3 3.3V powerGND groundDIN SPI data inputCLK SPI clockCS chip selectDC data/commandRST resetBL back lightPROGRAM ANALYSIS1.Working principles:ST7735S is 132 x 162 pixels LCD panel, but the product is 128 x 160 pixels LCD display.In the display there are two processes: the horizontal direction scanning – from the 2nd pixel, the vertical direction scanning – from the 1st pixel. So, you can see that positions of pixels in RAM correspond to their actual positions while displaying.The LCD supports 12-bit, 16-bit and 18-bit per pixel input formats. They correspond to RGB444, RGB565 and RGB666 color formats. This routine uses the RGB565 color format, which is commonly used.LCD uses 4-wired SPI communication interface, which can save a lot of GPIO ports and provides fast data transfer to LCD as well.munication protocolNote: there is a difference from traditional SPI. Here we only need display, so sine wires come from slave to host are hidden. The detailed information please refer to datasheet at page 58RESX: Reset. Pull-down while powering on the module. Generally set as 1IM2: data communication mode pin, which define usage of SPICSX: chip selection control pin. If CS=0 – the chip is selectedD/CX: data/command control pin, if DC=0 – command is written, otherwise – data are writtenSDA: transmitted RGB dataSCL: SPI clockThe SPI communication protocol of the data transmission uses control bits: clock phase (CPHA) and clock polarity (CPOL):The value of CPOL determines the level when the serial synchronous clock is in idle state. CPOL=0, that its idle level is 0.The value of CPHA determines the timing of the data bits relative to the clock pulses. CPHA=0, data is sampled at the first clock pulse edge.The combination of these two parameters provides 4 modes of SPI data transmission. The commonly used is SPI0 mode, it is that GPOL=0 and CPHA=0.From the figure above, SCLK begins to transfer data at the first falling edge. 8 bits data are transferred at one clock period. Use SPI0 mode, High bits transfer first, and LOW bits following. DEMO CODERaspberry Pi, STM32 and Arduino programs are provided, wherein Raspberry Pi provides BCM2835, WiringPi and python programs. It implements common graphical functions as drawing dot, line, rectangle, circle, setting their sizes and line with; filling arias, and displaying English characters of 5 common fonts and other display’s functions.Following instructions are offered for you convenienceRASPBERRY1.Hardware connection1.8inch LCD module Raspberry Pi3.3V 3.3VGND GNDDIN MOSI (PIN 19)CLK SCLK (PIN23)CS CE0 (PIN 8)DC GPIO.6 (PIN 22)RST GPIO.2 (PIN13)BL GPIO.5 (PIN18)2.Enable SPI function of the Raspberry Pisudo raspi-configSelect: Advanced Options -> SPI -> yesActivate SPI hardware driver.3.Installation of librariesFore detailed information about libraries installation, please refer to this page:https:///wiki/Libraries_Installation_for_RPiIt is description of WiringPi, bcm2835 and python libraries installation.ageBCM2835 and WiringPi program should be only copied into directory of Raspberry Pi ()by samba or directly copy to the SD card). The following code are compied directly to the user directory of Pi.4.1Usage of BCM2835Run ls command as you can see below:bin: contains “.o” files.We don’t need to change it generallyFonts: contains 5 commonly used fontsPic: contains pictures used for displaying. The resolution of pictures must be 128x128,otherwise they cannot be displayed properly. And the format of pictures must be BMP.Obj: contains object files, like main.c, LCD_Driver.c, DEV_Config.c, LCD_GUI.c and theirheader files.main.c: The mian function. What need to note is that even though there are LCD_ScanDir used to control the direction of scanning, you need not to change it. Because this module is designed for Raspberry Pi, and for compatibility, we don’t recommend you to change it.DEV_Config.c:Definations of Raspberry Pi’s pins and the communication mode.LCD_Driver.c: Drive code of LCD. Need not change generally.LCD_BMP.c: Reading and analyzing BMP files and display themMakefile: This file contains compilation rules. If there are some changes in code, please run make clean to clean all the dependency file and executable files. Then execute make to compile the whole project and generate new executable files.tftlcd_1in8: executable file, generated by command makeTo run the program, you just need to run this command on terminal: sudo ./tftlcd_1in8 4.2WiringPiInput ls command, now you can see following:T he folders is similar to BCM2835’s. The only differences are that:1.WiringPi oprates by read/write the device files of Linux OS. and the bcm2835 is libraryfunction of Raspberry Pi’s CPU, it operates registers directly. Thus, if you have usedbcm2835 libraries firstly, the usage of WiringPi code will be failed. In this case, you just need to reboot the system and try again.2.Due to the first difference, they underlying configuration are different. In DEV_Config.c,use wiringpiPi and the corresponding wiringPiSPI to provide underlay interfaces.The program executed by command sudo ./tftlcd_1in8 as well4.3PythonInput ls command, you can see that:LCD_1in8.py: Driver code of LCDLCD_Config.py: configuration of hardware underlaying interface.Executing program: sudo python LCD_1in8.pyNote: Some of the OS don’t have image libraries. In this case, you can run: sudo apt-get install python-imaging to install the image library.Image is an image processing library of python, represents any image by an image object.Thus, we can create a blank image by new, its size must be same as the display size of LCD.Then draw picture by Draw library, finally, transfer the image to the LCD. Here usingImage.load() too read RGB888 data of pixel, and convert to RGB565. Scanning every pixel then we could get the whole image for displaying. Its most important code is as below:5.Auto-runInitialize autorun in Raspberry Pi by configuring code of /etc/rc.local file:sudo vim /etc/rc.localBefore exit0 add:sudo python /home/pi/python/demo.py &Important: to place the program /home/pi/python/demo.py at the same director, you can input command pwd to get the path. And & character is necessary at the end of command line, otherwise probable need to reinstall the system (impossible terminate the process by pressing ctrl+c, impossible to login with pi user permission).STM32This demo uses XNUCLEO-F103RB developing board and is based on HAT library.1.Hardware connection1.8inch LCD XNUCLEO-F103RBVCC 3V3GND GNDDIN PA7CLK PA5CS PB6DC PA8RST PA9BL PC72.Expected resultProgram the demo into the development Board. Firstly the screen is refreshed completely, then a solid line, dashed line, open circle, solid circle, rectangle, solid torque are drawn and English characters are shown.ARDUINOUNO PLUS Arduino development board is used here.1.Hardware connection1.8inch LCD Arduino3.3V 3V3GND GNDDIN D11CLK D13CS D10DC D7RST D8BL D92.Due to small global memory 2Kb of UNO PLUS, the display can’t work in graphical mode,but the calling method is the same. Just because there is no enough memory, this demo is not provided.COMPATIBLE CODE PORTINGOffered demo is the commonly used programs, which are able to be ported. They can be used with two screens and the difference is only in initialization of them and their sizes.The usage method is defined by macros. In LCD_Driver.h or in LCD.h:#define LCD_1IN44#define LCD_1in8.As the name of the macros, they are used for 1.44inch and 1.8inch LCD separately. To use for one LCD, just need to comment other one.For example://#define LCD_1IN44#define LCD_1IN8Here we use it for 1.8inch LCD, so we comment the 1.44 macro. After saving, Run make clean to remove dependency files, and then run make to generate new executable files.。

智能硬件显示屏(LCD)接口大全,详解各种主流接口的用途和差别

智能硬件显示屏(LCD)接口大全,详解各种主流接口的用途和差别

智能硬件显示屏(LCD)接口大全,详解各种主流接口的用途和差别显示屏智能硬件设备,往往需要一块显示屏作为交互入口。

显示屏大,显示的内容多,对硬件系统要求高。

简单的智能硬件产品,可以是用小尺寸的显示屏,或段式显示屏,以降低硬件性能要求,从而降低成本。

显示屏的选型,对开发工程师来讲十分重要。

硬件工程师要熟知各种显示屏的接口以及使用环境,根据接口选择合适的主控芯片。

设备对外接口:VGA、DVI、HDMI对于大型智能硬件设备,如广告机、K歌房,一般都采用市场上现有的液晶电视作为显示器。

因此接口也是电视常用接口,VGA、DVI、HDMI等。

主控端采用多核ARM或x86系统,类似于电脑外接电视的做法。

这些接口和协议都是很标准的,CPU自带接口的话可以直接用,没有的话也可以很方便的使用转换芯片来实现这些接口的输出。

一般智能硬件产品,只设计HDMI视频输出,很少有VGA接口,几乎没有DVI接口设备对内接口:串口、并口对于设备本身需要屏幕的,一般不会使用外部接口,而是使用板上数据接口。

•小屏(I2C、SPI、UART):2寸以下的小尺寸LCD屏,或者段式液晶显示屏,显示数据量比较少,普遍采用低速串口,如I2C、SPI、UART。

如果屏幕分辨率超过320x240,使用SPI的话,刷屏速度就会比较慢,所以高分辨率屏幕没有采用低速串口的。

至于I2C和UART,速度比SPI更慢,所以一般只用来驱动段式显示屏或者1寸以下的OLED屏。

屏幕上使用的I2C、SPI和UART,和其他外设使用的都是完全一样的传输协议。

•中屏:MCU、RGB:2寸至7寸的低分辨率LCD屏(不超过1027x768),有一些采用并口传输数据的。

根据数据格式可以分为MCU接口和RGB接口。

并口支持的显示数据量不大也不小。

能够覆盖720P以下的分辨率,但无法更高。

想显示更多数据只能用高速串口。

•大屏:MIPI、LVDS:高分辨率屏,从720P到2K,几乎都是高速串口的接口。

ampire__12864显示器中文手册及示例代码

ampire__12864显示器中文手册及示例代码

AMPIRE 128X64显示器1. LCD接口液晶显示器件【3】(LCD)独具的低压、微功耗特性使他在单片机系统中特得到了广泛的应用,常用的液晶显示模块分为数显液晶模块、点阵字符液晶模块和点阵图形液晶模块,其中图形液晶模块在我国应用较为广泛,因为汉字不能像西文字符那样用字符模块即可显示,要想显示汉字必须用图形模块。

本课设所选择的LCD是AMPIRE128×64的汉字图形型液晶显示模块,可显示汉字及图形,图形液晶显示显示器接口如图3-1所示。

图3-1 LCD电路图表 AMPIRE128×64接口说明表管脚管脚电平说明号1CS1H/L 片选择信号,低电平时选择前64列2CS2H/L片选择信号,低电平时选择后64列3GND0V 逻辑电源地4VCC 逻辑电源正5V0 LCD驱动电压,应用时在VEE与V0之间加一2K可调电阻6RS H/L 数据\指令选择:高电平:数据D0-D7将送入显示RAM;低电平:数据D0-D7将送入指令寄存器执行7R/W H/L 读\写选择:高电平:读数据;低电平:写数据8 E H/L 读写使能,高电平有效,下降沿锁定数据9DB0H/L 数据输入输出引脚10DB1H/L 数据输入输出引脚11DB2H/L 数据输入输出引脚12DB3H/L 数据输入输出引脚13DB4 H/L数据输入输出引脚14DB5H/L数据输入输出引脚15DB6H/L数据输入输出引脚16DB7H/L数据输入输出引脚17RST L复位信号,低电平有效18VOUT-10V LCD驱动电源2. 指令描述(1)显示开/关设置CODE:ArrayR/WRS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0功能:设置屏幕显示开/关。

DB0=H,开显示;DB0=L,关显示。

不影响显示RAM(DD RAM)中的内容。

(2)设置显示起始行CODE:R/W RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0功能:执行该命令后,所设置的行将显示在屏幕的第一行。

LCD12864使用手册

LCD12864使用手册

文件型号LCD12864文件类型服务文件版本 1.0图形点阵液晶显示模块使用手册LCD12864一.概述HEM12864I是一种图形点阵液晶显示器。

它主要采用动态驱动原理由行驱动—控制器和列驱动器两部分组成了128(列)×64(行)的全点阵液晶显示。

此显示器采用了COB的软封装方式,通过导电橡胶和压框连接LCD,使其寿命长,连接可靠。

二.特性1.工作电压为+5V±10% ,可自带驱动LCD所需的负电压。

2.全屏幕点阵,点阵数为128(列)×64(行),可显示8(/行)×4(行)个(16×16点阵)汉字,也可完成图形,字符的显示。

3.与CPU接口采用5条位控制总线和8位并行数据总线输入输出,适配M6800系列时序。

4.内部有显示数据锁存器。

5.简单的操作指令,显示开关设置,显示起始行设置,地址指针设置和数据读/写等指令。

三.外形尺寸1.外形尺寸图2.主要外形尺寸项目标 准 尺 寸 单 位模 块 体 积 54.0×50.0×6.5mm定 位 尺 寸 49.0×45.0mm视 域43.5×29.0 mm行 列 点 阵 数 128×64dots点 距 离 0.32×0.39mm点 大 小0.28×0.35mm四.硬件说明1.引脚特性2.引脚号引脚名称 级 别 引脚功能描述1 VSS0V电源地2 VDD +5V 电源电压3 VLCD 0~-10V LCD驱动负电压,要求VDD-VLCD=13V4 RS H/L 寄存器选择信号5 R/W H/L 读/写操作选择信号6 E H/L 使能信号7 DB08 DB19 DB210 DB3H/L八位三态并行数据总线11 DB412 DB513 DB614 DB715 CS1 H/L 片选信号,当CS1=H时,液晶左半屏显示16 CS2 H/L 片选信号,当CS2=H时,液晶右半屏显示17 /RES H/L 复位信号,低有效18 VEE -10V 输出-10V的负电压(单电源供电)19 BLA+5V 背光电源20 BLK 0V 背光电源2.原理简图3.主要各部分详解99999991)显示数据RAM(DDRAM)DDRAM(64×8×8 bits)是存储图形显示数据的。

展讯SC8810的参数与功能介绍(含sc8810平台LCD架构)

展讯SC8810的参数与功能介绍(含sc8810平台LCD架构)

展讯SC8810的参数与功能介绍(含sc8810平台
LCD架构)
展讯SC8810的参数与功能介绍
展讯SC8810的参数与功能介绍SC8810的工艺说明:采用40纳米CMOS工艺,是一款高集成度、低功耗的TD-SCDMA主流智能手机平台。

该芯片集成了1GHz CortexA5处理器、图形加速专用GPU和电源管理单元,实现单芯片支持TD-HSPA/TD-SCDMA/EDGE/GPRS/GSM多模。

SC8810面向低成本智能手机市场,可提供接近高端智能手机的互联网及图形性能。

展讯提供完整的SC8810 Android系统交钥匙解决方案,帮助客户降低产品开发难度,并缩短产品的开发及上市周期。

展讯sc8810平台LCD架构浅析。

LCD屏接口详解

LCD屏接口详解

LCD的接口有多种,分类很细。

主要看LCD的驱动方式和控制方式,目前手机上的彩色LCD的连接方式一般有这么几种:MCU模式,RGB模式,SPI模式,VSYNC模式,MDDI模式,DSI模式。

MCU模式(也写成MPU模式的)。

只有TFT模块才有RGB接口。

但应用比较多的就是MUC模式和RGB 模式,区别有以下几点:1.MCU接口:会解码命令,由timing generator产生时序信号,驱动COM和SEG驱器。

RGB接口:在写LCD register setting时,和MCU接口没有区别。

区别只在于图像的写入方式。

2.用MCU模式时由于数据可以先存到IC内部GRAM后再往屏上写,所以这种模式LCD可以直接接在MEMORY的总线上。

用RGB模式时就不同了,它没有内部RAM,HSYNC,VSYNC,ENABLE,CS,RESET,RS可以直接接在MEMORY的GPIO口上,用GPIO口来模拟波形.3.MPU接口方式:显示数据写入DDRAM,常用于静止图片显示。

RGB接口方式:显示数据不写入DDRAM,直接写屏,速度快,常用于显示视频或动画用。

MCU接口和RGB接口主要的区别是:MCU接口方式:显示数据写入DDRAM,常用于静止图片显示。

RGB接口方式:显示数据不写入DDRAM,直接写屏,速度快,常用于显示视频或动画用。

MCU模式因为主要针对单片机的领域在使用,因此得名.后在中低端手机大量使用,其主要特点是价格便宜的。

MCU-LCD接口的标准术语是Intel提出的8080总线标准,因此在很多文档中用I80 来指MCU-LCD屏。

主要又可以分为8080模式和6800模式,这两者之间主要是时序的区别。

数据位传输有8位,9位,16位,18位,24位。

连线分为:CS/,RS(寄存器选择),RD/,WR/,再就是数据线了。

优点是:控制简单方便,无需时钟和同步信号。

缺点是:要耗费GRAM,所以难以做到大屏(3.8以上)。

展讯平台LCD文件路径

展讯平台LCD文件路径

基于展讯平台下调LCD各文件路径关联总结以下各层为从上往下调用关系:用户空间——>内核空间——>硬件一、用户空间——应用程序二、内核空间:1)kernel/driver/video/fbmem.c(母目录,一律注册字符设备,不针对平台)作用:a. 定义结构体file_operations包括fb_read()、fb_write()、fb_ioctl()等b. 在module_init()初始化时,调用register_chrdev(FB_MAJOR,"fb",&fb_fops)函数传递该该结构体以注册字符设备。

如下图:2)kernel/driver/video/sc8810(视平台而定)/sprdfb_main.c(一般为XX fb_main.c) 作用:注册framebuffer(调用函数在fbmem.c内定义)、注册平台设备作用:a. 定义结构体platform_driver包括probe、suspend、resume等b.在module_init()初始化时,调用platform_driver_register(&sprdfb_driver)函数传递该结构体“针对该平台”进行平台驱动注册。

如下图:c. 在该结构体内成员probe函数里调用register_framebuffer(fb)注册framebuffer,且在probe探测函数里“针对该平台”进行硬件初始化、申请帧缓冲空间等。

//********************************************//********************************************注释:sprdfb_main.c会调用同个目录下lcdc.c文件下函数,进行ID的枚举等,具体参考前一章。

1)通过lcdc.c的find_adapt_from_readid()函数(uboot下也有)会在kernel 下重新枚举设备(如果uboot枚举不通过返回-1)如下图2)find_adapt_from_readid()和find_adapt_from_uboot区别如下,其中find_adapt_from_readid()会重新枚举panel如下图灰色区域3)a. 图中lcd_panel_size即为枚举数量,函数位置为:/customize/cutomer_cfg/sp8810ga/kernel/lcd/lcd_cfg.c或/u-boot/drivers/video/sc8810_fb.c如下图定义:b. 其中平台设备函数位置为:/3rdparty/lcd/lcd_ili9486kernel/lcd_ili9486.c或/u-boot/board/spreadtrum/sp8810/lcd_ili9486.c如下图定义:c. lcd_operations结构体定义如下://********************************************三、硬件——LCD控制器备注:LCD平时运行函数(属于fb_ops、lcd_operations的ops操作函数,为上层软件调用执行):<4>[ 39.549000] sprdfb pan_display!!,fb_state=0<4>[ 39.549000] hx8369_invalidate_rect : (0, 0, 479, 799)<4>[ 39.549000] hx8369_set_window在kernel读ID如果读取不对,会使fb_state置1,即通过不了sprdfb pan_display(),一直在调用该函数而不执行hx8369的函数。

lcdkvm切换器16口操作方法_kvm一体机使用方法

lcdkvm切换器16口操作方法_kvm一体机使用方法

lcdkvm切换器16口操作方法_kvm一体机使用方法在第一次使用本产品之前,请务必仔细阅读本说明及随机配送的相关资料,并按照说明书使用说明及安装,维护和保养。

迈拓维矩已对本说明书进行了严格仔细校勘和核对,但不能保证说明书完全没有文字描述错误和疏漏。

本说明书图片仅供参考,如个别图片与产品实际显示不符,请以实际产品为主,我们保留随时对说明书和产品进行改进/修改的权利。

产品调整后,恕不另行通知。

请务必妥善保管好产品造成的其他损失,在法律允许的最大范围内,本公司概不承担责任。

本说明书内容受法律版权的保护,未经书面许可,不得以任何形式进行复制和传播。

目录1 功能与规格 (1)1.1 概述 (1)1.1.1 前视图 (1)1.1.2 侧视图 (1)1.1.3 后视图 (1)1.2 基本特性 (2)1.3 详细规格 (2)1.4 结构尺寸 (3)2 安装 (5)2.1 机架安装 (5)2.2 线缆连接 (6)3 使用 (7)3.1 操作步骤 (7)3.2 显示最佳效果调节 (8)3.2.1 LCD OSD 菜单功能说明 (8)3.2.2 LCD OSD 菜单操作 (8)3.3 OSD 切换器菜单操作 (8)4 常见故障处理 (15)5 使用保养 (16)6 附件清单 (16)7 产品使用环境 (16)1功能与规格1.1 概述KVM是Keyboard、Video、Mouse的缩写,即集键盘、鼠标、显示于一体的智能切换控制平台。

KVM主机切换系统,即用单台或数台KVM将多台主机连接在一起,实现单用户使用单控制平台(一套键盘、鼠标、显示器)来控制多台主机的功能。

本系列KVM控制平台具有提高效率、使用简单、易于管理、节约成本、远程管理、环保节能等特点,其高度为标准 1U,符合 19〞上架结构,节省机柜85%以上使用空间。

本系列KVM控制平台支持SUN,IBM,HP,DELL,宝德,浪潮,曙光,联想等原装服务和研华、研祥、CRESUN、大众、威达、艾讯等各类工控机,支持DOS、Windows9x、NT、Win2000、Win7、LINUX、NOVELL等多种操作系统。

lcd1602的用法

lcd1602的用法

LCD1602的用法一、简介LCD1602是一款常用的液晶显示模块,它具有16x2的字符显示能力,可以显示基本的英文、数字和符号。

通过与微处理器或单片机等控制器的连接,可以实现各种数据和信息的显示。

二、硬件连接1. 电源:LCD1602模块需要5V电压供电,可以使用USB转RS232接口或直接连接5V电源。

2. 数据线:LCD1602模块需要连接数据线才能与控制器通信。

常见的连接方式是使用4条数据线:RS、RW、E。

其中RS线控制亮灭,RW线控制光标,E线控制开关。

3. 地线:通常需要连接一个公共地线,以使电路稳定。

三、软件实现以下是一个简单的示例代码,使用C语言和LCD1602模块实现显示字符串的功能:```c#include <reg52.h> // 包含8051单片机寄存器定义#include <lcd1602.h> // 包含LCD1602驱动库文件// 声明LCD1602结构体变量LCD1602 lcd;void main() {// 初始化LCD1602模块lcd_init(&lcd);lcd_clear(&lcd); // 清空屏幕// 显示字符串"Hello, world!"lcd_puts(&lcd, "Hello, world!");// 等待一段时间,以便观察显示效果delay(500);}```四、常用命令LCD1602模块支持一些常用的命令,如光标移动、清屏、显示文本等。

具体命令可以参考LCD1602驱动库文档。

五、注意事项1. LCD1602模块的字符宽高比为4:5,因此需要调整显示的字符大小以适应屏幕。

2. 需要根据具体的应用场景和硬件配置选择合适的LCD1602模块和驱动库。

不同的模块和库可能存在差异,需要参考相应的文档进行操作。

3. 在实际应用中,需要考虑与其他设备的接口和控制方式,确保数据传输的正确性和稳定性。

如何正确连接并使用LCD显示屏

如何正确连接并使用LCD显示屏

如何正确连接并使用LCD显示屏在现代科技发展的今天,LCD显示屏几乎无处不在,无论是用于电视、电脑还是其他电子设备,都起到了重要的作用。

然而,正确连接和使用LCD显示屏对于保证其正常工作和延长使用寿命至关重要。

本文将介绍如何正确连接并使用LCD显示屏,以帮助您更好地应用LCD显示屏。

一、硬件连接1.确认连接线:首先,需要确认所购买的LCD显示屏配备了正确的连接线。

常见的连接线有VGA、HDMI、DVI等,不同的连接线需要对应的接口才能正常连接。

2.选择正确的接口:根据自己的电脑或设备所支持的接口,选择相应的连接线类型。

将连接线的一端插入LCD显示屏的接口上,然后将另一端插入电脑或设备的对应接口上。

3.确认电源线:除了连接线之外,LCD显示屏还需要接通电源才能正常工作。

确保电源线插入LCD显示屏的电源接口上,并将另一端插入电源插座。

4.连接之前确认关闭电源:在进行硬件连接之前,务必将电脑或设备以及LCD显示屏的电源关闭,以避免任何电器故障和人身安全问题。

二、软件设置1.电脑或设备扩展模式:在连接好硬件之后,打开电脑或设备的显示设置,将其设置为扩展模式。

这样可以使LCD显示屏作为扩展屏幕来使用,提升办公效率。

2.分辨率调整:根据LCD显示屏的分辨率设置来调整电脑或设备的显示分辨率。

确保分辨率设定与LCD显示屏的最佳分辨率相匹配,以获得最佳视觉效果。

3.调整亮度和对比度:根据个人偏好和环境光线的情况,进行LCD显示屏的亮度和对比度调整。

合适的亮度和对比度设置可以提供更清晰、舒适的视觉体验。

4.色彩校准:如果您对色彩要求较高,可以使用专业的色彩校准仪器进行校准,以获得准确的色彩显示效果。

三、日常使用与维护1.避免长时间静止图像:长时间显示静止不动的图像会导致LCD显示屏出现“残影”或“烧屏”现象,影响使用寿命。

尽量避免显示静止图像,或者使用屏保程序。

2.注意清洁LCD屏幕:定期用干净柔软的布轻轻擦拭LCD屏幕,避免使用精油、酒精等溶剂来清洁屏幕,以免损坏液晶层。

lcd使用的流程

lcd使用的流程

LCD使用的流程1. 准备LCD及其附件材料在使用LCD之前,需要准备以下材料: - LCD显示屏 - LCD驱动板 - 数据线和电源线 - 相应的软件及驱动程序2. 连接LCD连接LCD的步骤如下: 1. 将LCD显示屏和LCD驱动板插入对应的接口插槽上,确保插入稳固。

2. 将数据线和电源线分别与LCD显示屏和LCD驱动板的相应接口连接。

注意插入时要对准方向,并确保连接牢固。

3. 安装驱动程序安装LCD的驱动程序如下所示: 1. 打开电脑,并确保操作系统正常运行。

2.插入LCD提供的驱动光盘或下载最新版本的驱动程序。

3. 运行驱动程序安装程序,按照提示完成驱动程序的安装过程。

4. 配置显示设置配置LCD显示的设置以适应个人需求: 1. 在电脑桌面上,鼠标右击并选择“显示设置”。

2. 在显示设置界面中,可以调整屏幕分辨率、缩放比例、布局等参数。

根据自己的需要进行设置,并点击“应用”保存配置。

5. 运行及测试完成上述步骤后,可以进行运行和测试: 1. 打开电脑和LCD显示屏。

2. 等待操作系统启动后,LCD显示屏应正常显示桌面界面。

3. 检查LCD显示屏是否能正常显示图像,并根据个人需求进行相关操作。

6. 常见问题解决方法在使用LCD时,可能会遇到一些常见问题,可以尝试以下解决方法: - 如果LCD显示屏无法正常显示图像,检查连接是否松动,并尝试重新连接。

- 如果LCD 显示屏分辨率不正确,可以通过电脑的显示设置进行调整。

- 如果LCD显示屏颜色不正确,可以检查驱动程序是否正确安装,并尝试重新安装驱动程序。

- 如果LCD显示屏存在闪烁或花屏现象,可以尝试重新启动电脑,并确保电脑和LCD显示屏之间位置良好通风。

7. 注意事项在使用LCD过程中,需要注意以下事项: - 操作时轻拿轻放,防止LCD显示屏受到物理损坏。

- 避免长时间开启LCD显示屏,以免造成过热和能源浪费。

- 定期清洁LCD显示屏,使用专用清洁剂和柔软的清洁布进行擦拭。

LCD12864液晶使用手册

LCD12864液晶使用手册

八、测试硬件电路VEE’8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。

可以显示8×4行16×16点阵的汉字. 也可完成图形显示.低电压低功耗是其又一显著特点。

由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。

基本特性:l 低电源电压(VDD:+3.0--+5.5V)l 显示分辨率:128×64点l 内置汉字字库,提供8192个16×16点阵汉字(简繁体可选)l 内置 128个16×8点阵字符l 2MHZ时钟频率l 显示方式:STN、半透、正显l 驱动方式:1/32DUTY,1/5BIASl 视角方向:6点l 背光方式:侧部高亮白色LED,功耗仅为普通LED的1/5—1/10l 通讯方式:串行、并口可选l 内置DC-DC转换电路,无需外加负压l 无需片选信号,简化软件设计l 工作温度: 0℃ - +55℃ ,存储温度: -20℃ - +60℃模块接口说明*注释1:如在实际应用中仅使用串口通讯模式,可将PSB接固定低电平,也可以将模块上的J8和“GND”用焊锡短接。

*注释2:模块内部接有上电复位电路,因此在不需要经常复位的场合可将该端悬空。

*注释3:如背光和模块共用一个电源,可以将模块上的JA、JK用焊锡短接。

2.2并行接口管脚号管脚名称电平管脚功能描述1 VSS 0V 电源地2 VCC 3.0+5V 电源正3 V0 - 对比度(亮度)调整4RS(CS)H/LRS=“H”,表示DB7——DB0为显示数据RS=“L”,表示DB7——DB0为显示指令数据5R/W(SID) H/L R/W=“H”,E=“H”,数据被读到DB7——DB0R/W=“L”,E=“H→L”, DB7——DB0的数据被写到IR或DR6 E(SCLK) H/L 使能信号7 DB0 H/L 三态数据线8 DB1 H/L 三态数据线应用说明用带中文字库的128X64显示模块时应注意以下几点:①欲在某一个位置显示中文字符时,应先设定显示字符位置,即先设定显示地址,再写入中文字符编码。

展讯入门文档

展讯入门文档

展讯学习文档一、编译 (2)二、下载 (2)三、抓LOG (5)四、模拟器调试 (7)五、菜单 (8)新添加菜单入口 (8)新添加二级菜单: (9)摄像头切换............................................................................................. 错误!未定义书签。

1)双摄像头(亚力通事例代码): (10)2)、单摄像头 (12)一、编译1、在DOS窗口(cmd.exe)进入到相应工程的 ms_code目录下才能进行编译。

(环境跟MTK一样)。

2、make p=sc66001_sp66011 m=apple id=1注:a,p=sc66001_sp66011 这个是工程的名字,一般工程的名字看主.mak文件如project_sc6600l_sp6601l.mk,然后去掉project_ 就是了,也可以从 build 文件夹下面直接看到。

)b,m=app 这个是模块名字,app 是相应的模块,我们主要的文件如:OEMOS.c,apple_wintab.c都是在这个模块,修改我们文件可以直接编译这个模块,与MTK类似。

具体可以用(make help参考使用说明,下面会列出常用的)c,id=1 这个表示使用分布式编译。

(有时候客户自己写了相应的P处理,编译命令可以自己咨询客户工程师。

)3、Make p= sc66001_sp66011 new (相当于MTK的new)4、Make p= sc66001_sp66011 (相当于MTK reamke)5、make p= sc66001_sp66011 m=resource (相当于MTK resgen 编资源)注:展讯的资源也是一个模块,展讯修改资源的定义跟MTK不一样,你修改菜单文件( mmi_menutable.c )是不用重新编译资源的,展讯菜单文件属于 app 模块,除非你加入或修改了字符串,图片,铃声,字库等资源(如修改apple_mdu_def.h),才需要重新编译资源。

LCD面板使用说明

LCD面板使用说明
全开 :打开本客厅区域的3路灯光.
全关 :关闭本客厅区域的3路灯光.
插座 :按此按键可以控制儿童房的插座的开或关,此图案下面文字表示目前此插座的状态,“关”表示插座已关闭,“开”表示插座已打开.
强制管理 :此按键可以强制管理儿童房的灯光插座及声音提示,按下此按键,文字部分开始红色闪烁,同时发信息给儿童房的智能面板,智能面板发出声音提示(智能面板需打开此功能),提示一分钟后,系统自动关闭儿童房的灯光及插座电源.
自动控制开哪些负载,需设定在第29个场景里,
自动控制关哪些负载,需设定在第30个场景里,
自动控制发的是场景命令.
设置完后按”确定”键保存.
还回 键:还回设置界面
操作右上角的主页 按键,可以还回主页面
定时控制设置 :可以设置到某个时间打开/关闭某些灯光负载.
点击定时控制设置按键进入定时控制设置界面, LCD显示已设置的参数:
操作下面一行的按键 可直接进入对应的二层界面,绿色显示的按键文字表示目前所处的界面.
操作右上角的主页 按键,可以还回主页面
其它界面(两个界面,共分12个区域控制):
显示6个区域按键图案和文字,操作这些按键可以进入第三层的界面来控制这些区域的灯光.
操作下面一行的按键 可直接进入对应的二层界面
操作下面一行的”下页”按键 ,可以进入”其它”界面的第二个界面,显示另外6个区域按键图案和文字,操作这些按键可以进入第三层的界面来控制这些区域的灯光.
设置完后按”确定”键保存.
还回 键:还回设置界面
操作右上角的主页 按键,可以还回主页面
报警设置 :可以5组报警电话
点击报警设置按键进入报警设置界面, LCD显示已设置的参数:
点击”电话一”文字,使光标显示在”电话一”右边的方框里面,

展讯平台操作简介

展讯平台操作简介

校准操作指南
选择校准加综 测 PROJECT
选择校准频段
测试不通过即 时停止
保存记录
选择非信令测 试
保存位置
选择综测频段
保存配置文件
读SN号
检查版本
选择此项
接收质量
选择此项
串口 串口速度
选择此项
综测仪型号
综测仪地址
选择此项
线损设置
点击此项
电源型号
电源地址
电压大小
版本号
CALIBRATION 测试过程及处理方法
检查主板VBAT/GND、DM/DP,NBOOT 信号是否正常,硬件驱动。
串口调试
PC 9PIN COM对应的 RX TX对应的2,3脚, 在各工位测试用到PC COM口时,发现通讯不 了,可以通过超级终端 来判定,排除是PC COM口有问题,还是 9PIN COM线或者是我 们的展迅下载板不正常, 短路 RX,TX,键盘输入 字符如在超级终端界面 上有对应出现,则说明 该串口是通的,无显示 或乱码则代表不通。
Download下载构架

1. 2. 3.
4.
下载工具介绍 下载工具的作用就是软件版本发布包中的几个文件下载到flash中。 下载工具中可以配置的选项: 端口(port):根据下载线连接的PC机端口设置; 波特率:即设置下载速率。值越大,下载速度越快。但是不能够设置太大 下载文件:FDL即flash引导程序,即软件包中的FDL_*.bin;NV即软件包中的 NVITEM_*.bin;*.pac就是以下PS+RES合并的(PS即软件包中的SW_*.bin;RES即软 件包中的RES_*.bin)。 Erase Flash/FLASH:擦除用户NV区中的数据。用户NV区指的是用户数据保存的区域, 用户数据包括设置数据,例如背光时间设置、铃声设置等等以及保存在手机上的短信、 电话本等

展讯客户化配置使用指南(驱动部分)

展讯客户化配置使用指南(驱动部分)

6 LCD的配置使用指南.............................................................................................................20
6.1 LCD的总体框架 .............................................................................................................20 6.2 LCD驱动需要包含的实现...............................................................................................20
7.2.1 GPIO_AddCallbackToIntTable() .......................................................................23 7.2.2 GPIO_AddToIntTable() .....................................................................................23
客户化配置使用指南(驱动部分)
版本: 1.0.0 SW-BASE-UG-0027
2004-11-24 D1

展讯通信有限公司 ·保密·
客户化配置使用指南(驱动部分)
修订历史
版本 1.0.0
日期 2004-11-24
作者 Lin.liu
版本 1.0.0
审核
Draft
3.1 Memory的空间区域划分 ................................................................................................11 3.2 Memory的配置与说明....................................................................................................12

MW5000系列LCD拼接显示单元快速入门

MW5000系列LCD拼接显示单元快速入门

© 2013浙江宇视科技有限公司及其许可者。

保留一切权利。

未经本公司书面许可,任何单位和个人不得擅自摘抄、复制本书内容的部分或全部,并不得以任何形式传播。

由于产品版本升级或其他原因,本手册内容有可能变更。

浙江宇视科技有限公司(下文简称“宇视科技”)保留在没有任何通知或者提示的情况下对本手册的内容进行修改的权利。

本手册仅作为使用指导,宇视科技尽全力在本手册中提供准确的信息,但是宇视科技并不确保手册内容完全没有错误,本手册中的所有陈述、信息和建议也不构成任何明示或暗示的担保。

使用注意任何维护与保养应由熟悉有关本设备安全防范措施的人员来进行。

在维修设备前后,请务必遵守下面各项安全守则。

•设备的液晶屏幕易碎,在运输及安装过程中,请注意小心轻放,请勿用手或其他物品重压,用尖锐物品戳、敲,或将屏幕朝下放置在地面或桌面上。

由用户原因造成的屏幕损坏本公司不予负责。

•必要时可用专用无尘布(可沾取少量清水或无水乙醇(99.99%分析纯))清洁机身和显示屏,或者使用干燥不含油的压缩空气吹去表面的灰尘。

禁止使用酒精(除无水乙醇(99.99%分析纯)外)、汽油、香蕉水、玻璃水、洗洁精等溶剂,棉花、无麻纸或直接用手清洁机身和显示屏。

•组成设备的部分零部件隶属于国际通用危险组件,具有特殊的安全保护功能,请勿用其他不具备相同功能的产品替换。

•维修本设备前,请先关闭电源开关或断开设备电源,以防对人员造成伤害。

•在切断电源拔出插头时,请勿用湿手去插/拔电源插头,不可拉拔电源线。

•更换部件后,请确认各元器件都已正确连接和安装,同时检查箱体内有无维修时遗留的物品。

•为避免火灾或触电事故的发生,请不要轻易改变电源线的位置,尽量做到不强行弯曲,勿拉拽,勿接触热源。

如果电源线发生问题请联系经销商。

•请勿频繁对拼接显示单元进行开关机,开关机间隔不小于3分钟。

目录1产品简介 (1)2装箱清单 (1)3外观及电缆连接 (2)3.1 设备外观 (2)3.1.1 外观尺寸 (2)3.1.2 接口说明 (3)3.1.3 遥控器 (4)3.2 连接电缆 (5)3.2.1 环接单元屏 (5)3.2.2 连接红外延长线 (5)4启动设备 (6)4.1 上电前确认 (6)4.2 开机 (6)4.3 关机 (6)5基本操作 (7)5.1 遥控器操作步骤 (7)5.2 遥控器按钮常用操作 (7)5.3 页签内容列表 (8)6技术规格 (10)7常见故障处理 (11)8有毒有害物质清单 (11)9合格证 (12)10保修卡 (13)1 产品简介MW5000系列LCD拼接显示单元(以下简称MW5000)是我司面向行业和商业用户推出的超窄边LCD拼接显示单元,采用三星工业级面板,高可靠性一体化设计,具备丰富的视频输入输出接口和业务功能,适用于应急指挥、视频监控、媒体娱乐等多种行业。

CHIMEI V Series LCD背光液晶显示器 使用指南

CHIMEI V Series LCD背光液晶显示器 使用指南

預防措施
適用於歐盟國家的使用者資訊
1 適用於美國的使用者資訊
1 安裝
1 電源連接
1 維護
1 搬運LED背光液晶顯示器
1
入門
包裝內容
2 LED背光液晶顯示器安裝
認識LED指示燈和控制按鈕
3 調整您的LED背光液晶顯示器
3 使用OSD群組 3 熱鍵介紹
功能鍵操作
4 OSD圖示列表 5
疑難解答
6功能規格與特性 介面頻率
7
附錄
10 符合FCC標準2
4
1.2 兩手抓緊LED背光液晶顯示器將其支架對準底座卡槽輕輕壓下,直至
2.2 將訊號線連接到LED背光液晶顯示器背後的D-DUB埠或DVI埠或HDMI埠並擰緊接口螺絲。

現在您應該能夠看到畫面。

如果看不到,請參閱本指南的疑難解答部分。

第三層
3. 按照OSD跳出視窗上所對應的功能圖示操作按鍵。

第二層
當顯示OSD功能時,按右邊第一個按鍵 ,進入“音量控制”選單,然後按 或 調整聲音的音量,按 或 結束。

當顯示OSD功能時,按左邊第二個按鍵 改變模式,你可以按 和 在4個模式間調
當顯示OSD功能時,按右邊第二個按鍵 進入主功能表,然後按 或 選擇選項,按 確定進入選項, 按 或 離開。

圖示功能詳情
現象 檢查專案
重要:注意確定顯示設定並未超過19V01D:VESA 1366x768@ 60Hz。

19V0AD:
VESA 1440x900@ 60Hz。

22V01D:
VESA 1920x1080@ 60Hz。

- 10 -。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

LCD 接口使用说明版本: 1.0.0SW-BASE-UG-00262004-06-09D2修订历史版本日期作者审核说明1.0.0 2004-06-09 Jim.zhang Draft重要声明版权声明版权所有 © 2004, 展讯通信有限公司,保留所有权利。

商标声明展讯通信有限公司和展讯通信有限公司的产品是展讯通信有限公司专有。

在提及其他公司及其产品时将使用各自公司所拥有的商标,这种使用的目的仅限于引用。

不作保证声明展讯通信有限公司不对此文档中的任何内容作任何明示或暗示的陈述或保证,而且不对特定目的的适销性及适用性或者任何间接、特殊或连带的损失承担任何责任。

保密声明本文档(包括任何附件)包含的信息是保密信息。

接收人了解其获得的本文档是保密的,除用于规定的目的外不得用于任何目的,也不得将本文档泄露给任何第三方。

目录1介绍 (5)1.1范围 (5)1.2参考文档 (5)1.3缩写和定义 (5)2概述 (6)2.1文件组织 (6)2.2LCD屏幕坐标 (6)2.3LCD操作概述 (6)3接口函数说明 (7)3.1LCD硬件初始化 (7)3.2关闭LCD (7)3.3获取LCD基本信息 (7)3.4刷新LCD (8)3.5LCD全屏刷新 (9)3.6进入/退出睡眠 (9)3.7调节LCD的对比度 (10)4附录 (11)4.1数据结构 (11)4.1.1LCD信息结构 LCD_INFO_T (11)4.1.2LCD ID类型 LCD_ID_E (11)4.1.3LCD错误类型 ERR_LCD_E (12)1 介绍1.1 范围本文描述LCD驱动软件的向上层如MMI所提供的API,作为应用程序设计人员必须的参考文档。

1.2 参考文档无1.3 缩写和定义LCD Liquid Crystal DisplayMMI Man-Machine Interface2 概述2.1 文件组织lcd_api.h该文件定义了所有的LCD接口函数,上层调用LCD提供的函数时需要包含该文件。

2.2 LCD屏幕坐标LCD屏幕的坐标为二维坐标系统,设LCD宽为LCD-WIDTH,高为LCD-HEIGHT,则LCD屏幕的坐上交坐标表示为(0,0),右下角坐标表示为(LCD-WIDTH – 1, LCD-HEIGHT – 1)。

2.3 LCD操作概述系统为每个LCD都分配了一个BUFFER,BUFFER中用于存放LCD上所有点颜色值,该BUFFER大小对应着LCD的屏幕大小,LCD上的每个PIXEL对应着BUFFER中的一个元素。

如果LCD的PIXEL的颜色为8BITS,则BUFFER的每个元素也同样为8BITS;如果LCD的PXIEL的颜色为12BITS,则BUFFER的每个元素为16BITS;如果LCD的每个PIXEL的颜色为16BITS则BUFFER中每个元素为16BITS;如果LCD每个PIXEL的颜色为24BITS,则BUFFER中每个元素为24BITS;如果LCD每个PIXEL的颜色为32BITS,则BUFFER中每个元素也同样为32BITS。

设LCD上一点坐标为(x,y),BUFFER头指针为buffer_ptr,则(x,y)对应与BUFFER中的位置为:buffer_ptr + y*LCD-WIDTH + x 。

上层如果要对LCD进行操作,首先需要获取该BUFFER的头指针,参考LCD_GetInfo()函数,然后对该BUFFER写入颜色值,最后调用LCD的刷新函数(LCD_InvalidateRect 、LCD_Invalidate)即可。

另外,控制LCD进入睡眠模式可以降低系统的功耗。

3 接口函数说明3.1 LCD硬件初始化LCD_Init初始化LCD硬件,如果有多个LCD,则同时被该函数初始化。

成功调用该函数后即可实现对LCD的操作。

此后,打开LCD的背景灯则可看见LCD屏幕上的内容。

PUBLIC ERR_LCD_E LCD_Init(void);参数:无返回值:ERR_LCD_NONE为初始化成功,其它值为错误代码。

参考:LCD_Close举例:无3.2 关闭LCDLCD_Close关闭LCD,当关机时会调用此函数。

当有多个LCD设备时,该函数将关闭所有的LCD。

PUBLIC void LCD_Close(void);参数:无返回值:无参考:LCD_Init举例:无3.3 获取LCD基本信息LCD_GetInfo获取LCD的基本信息。

具体参考LCD_INFO_T的定义。

上层调用此函数,可获取LCD的信息,如bits-per-pixel以及LCD的BUFFER指针,从而可以实现对LCD的直接操作。

PUBLIC ERR_LCD_E LCD_GetInfo(LCD_ID_E lcd_id,LCD_INFO_T*lcd_info_ptr);参数:[in]lcd_id欲操作LCD的ID,参考LCD_ID_E。

[out]lcd_inf_ptrlcd的信息结构指针。

返回值:ERR_LCD_NONE为调用成功,其它值为错误代码。

参考:无举例:对点主屏上点(x,y)写入颜色0X0F0F的实现如下:(假定lcd_info_ptr-> bits_per_pixel = 16)LCD_GetInfo(MAIN_LCD_ID, lcd_info_ptr);uint16 *buf_ptr = (uint16 *)lcd_info_ptr-> lcdbuff_ptr;uint16 lcd_width = lcd_info_ptr->lcd_width;uint16 lcd_height=lcd_info_ptr->lcd_height;*(uint16 *)(buf_ptr + y*lcd_width + x) = 0x0f0f;然后根据需要调用LCD_Invalidate或者LCD_InvalidateRect函数刷新LCD有关区域。

3.4 刷新LCDLCD_InvalidateRect刷新LCD 的某一矩形区域。

该函数将LCD BUFFER中的颜色值写入到指定的区域中,如果该指定的区域超出了指定LCD的范围,则该函数将只刷新该指定区域与LCD区域的重叠部分,即LCD范围外的区域无效。

PUBLIC ERR_LCD_E LCD_InvalidateRect(LCD_ID_E lcd_id,uint16 left,uint16 top,uint16 right,uint16 bottom);参数:[in]lcd_idLCD ID[in]left矩形区域的左上角x坐标[in]top矩形区域的左上角y坐标[in]right矩形区域的右下角x坐标[in]bottom矩形区域的右下角y坐标返回值:ERR_LCD_NONE为操作成功,其他值为操作失败。

参考:LCD_Invalidate举例:无3.5 LCD全屏刷新LCD_Invalidate对指定LCD的整个屏幕进行刷新。

PUBLIC ERR_LCD_E LCD_Invalidate(LCD_ID_E lcd_id);参数:[in]lcd_idLCD ID返回值:ERR_LCD_NONE为操作成功,其他值为操作失败。

参考:LCD_InvalidateRect举例:无3.6 进入/退出睡眠LCD_EnterSleep控制LCD进入或者退出睡眠模式。

当LCD进入睡眠模式式,能降低功耗。

为了配合降低系统的功耗,在LCD进入睡眠模式时,应该同时关闭LCD的背景灯。

当推出睡眠模式后,也要打开LCD的背景灯才能显示LCD屏幕上的内容。

PUBLIC ERR_LCD_E LCD_EnterSleep(LCD_ID_E lcd_id,BOOLEAN is_sleep);参数:[in]lcd_idLCD ID[in]is_sleepSCI_TRUE---进入睡眠模式 SCI_FALSE—退出睡眠模式返回值:ERR_LCD_NONE为执行成功,其它值为错误代码。

参考:无举例:无3.7 调节LCD的对比度LCD_SetContrast调节LCD 的对比度。

PUBLIC ERR_LCD_E LCD_SetContrast(LCD_ID_E lcd_id,uint16 contrast);参数:[in] lcd_idLCD ID[in] contrast对比度值,不同的LCD支持不同的取值范围。

调用LCD_GetInfo可以获取LCD对比度的最大值、最小值以及缺省值。

返回值:ERR_LCD_NONE为设置对比度成功,其它值为错误代码。

参考:LCD_GetInfo举例:无4 附录4.1 数据结构4.1.1 LCD信息结构 LCD_INFO_Ttypedef struct lcd_info_tag{uint32 r_bitmask;uint32 g_bitmask;uint32 b_bitmask;uint16 bits_per_pixel;uint16 lcd_width;uint16 lcd_height;uint16 contrast_min;uint16 contrast_max;uint16 contrast_defaut;void *lcdbuff_ptr;} LCD_INFO_T;参数:r_bitmask r(Red color)的MASK值g_bitmask g(Green color)的MASK值b_bitmask b(Black color)的MASK值bits_per_pixel 每个PIXLE的颜色表示位数lcd_width LCD的宽度(单位为PIXEL)lcd_height LCD的高度(单位为PIXEL)contrast_min LCD支持的最小对比度contrast_max LCD支持的最大对比度contrast_defaut LCD的缺省对比度值lcdbuff_ptr LCD BUFFER的头指针4.1.2 LCD ID类型 LCD_ID_Etypedef enum{MAIN_LCD_ID = 0,SUB_LCD_ID,MAX_LCD_ID} LCD_ID_E;参数:MAIN_LCD_ID LCD主屏ID号,固定为0 SUB_LCD_ID LCD附屏ID号MAX_LCD_ID 保留ID,用户不可使用4.1.3 LCD错误类型 ERR_LCD_Etypedef enum{ERR_LCD_NONE = SCI_SUCCESS,ERR_LCD_FUNC_NOT_SUPPORT,ERR_LCD_PARAMETER_WRONG,ERR_LCD_POINTER_NULL,ERR_LCD_OPERATE_FAIL,ERR_LCD_NOT_FOUND} ERR_LCD_E;参数:ERR_LCD_NONE 无错误ERR_LCD_FUNC_NOT_SUPPORT, 该LCD不支持该操作ERR_LCD_PARAMETER_WRONG, 输入参数错误ERR_LCD_POINTER_NULL, 指针为空ERR_LCD_OPERATE_FAIL, 操作失败ERR_LCD_NOT_FOUND 未发现LCD。

相关文档
最新文档