版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第七章LCD液晶顯示器
7.1LCD顯示器概述LCD它是一種數(shù)字顯示技術(shù),可以通過液晶和彩色過濾器過濾光源,并在平面面板上產(chǎn)生圖像。與傳統(tǒng)的陰極射線管(CRT)相比,LCD占用空間小、低功耗、低輻射、無閃爍、降低視覺疲勞,具有很大的發(fā)展?jié)摿?。第一頁,共五十五頁?.LCD顯示器的分類扭曲向列型(TN-TwistedNematic);超扭曲向列型(STN-SuperTN);雙層超扭曲向列型(DSTN-Double-layerSuper-TwistedNematic);薄膜晶體管型(TFT-ThinFilmTransistor)。第二頁,共五十五頁。2.LCD的常用指標PPI與分辨率PPI是指每平方英寸所擁有的像素(Pixel)數(shù)目??梢姡琍PI數(shù)值越高就意味著顯示屏能夠以更高的密度顯示圖像。顯示的密度越高,擬真度也就越高。目前通用的TFT液晶顯示屏大部分只有100PPI,如果擁有高一倍的顯示畫質(zhì)(200PPI),顯示效果會更好。第三頁,共五十五頁。分辨率標準目前市面上的分辨率標準多種多樣,主要有VGA、SVGA、UXGA和SXGA+。其中SXGA+所代表的顯示分辨率為1400x1050。Quad-VGA是三菱公司的一種新分辨率標準,它所代表的分辨率1280x960,與一般標準XGA的1280x1024顯示分辨率比較,Quad-VGA會較為扁平一點。第四頁,共五十五頁。尺寸標示LCD顯示器跟CRT顯示器除顯示方式不同以外,最大的區(qū)別就是尺寸的標示方法不一樣。例如,CRT顯示器在規(guī)格中標為17英寸,但實際可視尺寸達不到17英寸,只有15英寸多些;而對于LCD顯示器,如果標示為15.1英寸,那么可視尺寸就是15.1英寸。第五頁,共五十五頁。解析度LCD液晶顯示器不像CRT顯示器,它只支持“真實解析度”,通常等價于一般CRT顯示器的最高解析度。其主要差別在于,LCD液晶顯示器只有在“真實解析度”下才能表現(xiàn)最佳影像效果。解析度低于真實解析度時,影像可以被呈現(xiàn),但影像無法如真實解析度般得到優(yōu)化。第六頁,共五十五頁。7.2嵌入式處理器的LCD控制器7.2.1 LCD控制器的接口因為工作原理不同,液晶的顯示接口時序可以分為STN和TFT兩種。目前,一些嵌入式處理器可以同時支持STN和TFT的LCD顯示器。以STN顯示為例,從圖7.1可以看出片內(nèi)集成的LCD控制器可以產(chǎn)生必要的控制信號,如VFRAME、VLINE、VCLK和VM等。傳輸顯示數(shù)據(jù)。LCD控制器的接口定義如表7-1示。第七頁,共五十五頁。圖7.1 LCD控制器的結(jié)構(gòu)圖第八頁,共五十五頁。信號描述功能VFRAMELCD控制器和LCD驅(qū)動器的幀同步信號控制LCD的幀顯示,LCD控制器在一個完整的幀被顯示后發(fā)送此信號VLINELCD控制器和LCD驅(qū)動器的行同步信號LCD控制器通過它將水平移位寄存器中的內(nèi)容顯示到LCD上,LCD控制器一整行數(shù)據(jù)被傳輸?shù)絃CD驅(qū)動器后發(fā)送VLINEVCLK刷新時鐘它是LCD控制器與LCD驅(qū)動器之間的像素時鐘信號,LCD控制器在此信號上升沿發(fā)送數(shù)據(jù),LCD驅(qū)動器則在下降沿采樣數(shù)據(jù)VMLCD驅(qū)動器的交流信號LCD驅(qū)動器用此信號來改變行和列的電壓極性以控制像素的顯示與否VD[7:0]數(shù)據(jù)線LCD像素輸出端口表7-1LCD控制器的接口第九頁,共五十五頁。7.2.2 LCD控制器的設(shè)置
LCD驅(qū)動編寫的主要工作就是正確設(shè)置對應于所用LCD屏的CPU寄存器。表7-2所示為嵌入式處理器S3C2410中與LCD相對應的寄存器,表中給出了各個寄存器的簡單描述,如果想了解它們的詳細設(shè)置,請參考S3C2410的用戶手冊。第十頁,共五十五頁。寄存器宏定義地址讀/寫描述復位LCD控制寄存器1LCDCON10x4d000000讀/寫工作信號控制寄存器0x0LCD控制寄存器2LCDCON20x4d000004讀/寫LCD水平/垂直尺寸定義0x0LCD控制寄存器3LCDCON30x4d000008讀/寫LCD控制寄存器30x0LCD控制寄存器4LCDCON40x4d00000c讀/寫LCD控制寄存器40x0LCD控制寄存器5LCDCON50x4d000010讀/寫LCD控制寄存器50x0幀緩沖地址寄存器1LCDSADDR10x4d000014讀/寫液晶類型和掃描模式定義0x0幀緩沖地址寄存器2LCDSADDR20x4d000018讀/寫設(shè)定顯示緩沖區(qū)信息0x0幀緩沖地址寄存器3LCDSADDR30x4d00001c讀/寫設(shè)定虛擬屏偏移和頁面寬度0x0紅色設(shè)置寄存器REDLUT0x4d000020讀/寫定義8組紅色數(shù)據(jù)查找表0x0綠色設(shè)置寄存器GREENLUT0x4d000024讀/寫定義8組綠色數(shù)據(jù)查找表0x0藍色設(shè)置寄存器BLUELUT0x4d000028讀/寫定義8組藍色數(shù)據(jù)查找表0x0抖動模式寄存器DITHMODE0x4d00004c讀/寫STN抖動模式寄存器0x0臨時調(diào)色板寄存器TPAL0x4d000050讀/寫TFT臨時調(diào)色寄存器,其值在下一幀時將變成視頻數(shù)據(jù)0x0LCD中斷掛起寄存器LCDINTPND0x4d000054讀/寫掛起LCD中斷0x0LCD中斷源掛起寄存器LCDSRCPND0x4d000058讀/寫掛起LCD中斷源0x0LCD中斷屏蔽寄存器LCDINTMSK0x4d00005c讀/寫屏蔽LCD中斷源0x3表7-2 LCD控制器相關(guān)的設(shè)置第十一頁,共五十五頁。1.設(shè)置VM、VFRAME、VLINEVM信號通過改變液晶的行列電壓的極性來控制像素的顯示,VM速率可以配置LCDCON1寄存器的MMODE位及LCDCON2寄存器的MVAL[7:0]。VM速率=VLINE速率/(2×MVAL)第十二頁,共五十五頁。VFRAME和VLINE信號可以根據(jù)液晶屏的尺寸及顯示模式,配置LCDCON2寄存器的HOZVAL和LINEVAL值,即:HOZVAL=(水平尺寸/VD數(shù)據(jù)位)-1彩色液晶屏時:水平尺寸=3×水平像素點數(shù)VD數(shù)據(jù)位:VD=4(4位單/雙掃描模式) VD=8(8位單掃描模式)LINEVAL=垂直尺寸一1(單掃描模式)LINEVAL=(垂直尺寸/2)-1(雙掃描模式)第十三頁,共五十五頁。2.設(shè)定VCLKVCLK是LCD控制器的時鐘信號,它的計算需要先計算數(shù)據(jù)傳送速率,由此設(shè)定的一個大于數(shù)據(jù)傳送速率的值為VCLKVAL(LCDCONl[21:12])。數(shù)據(jù)傳送速率=水平只寸×垂直尺寸×幀速率×模式值(MV)第十四頁,共五十五頁。3.幀速率幀速率可由以下公式得到: VCLK(Hz)=MCLK/(CLKVAL×2),其中LKVAL大于數(shù)據(jù)傳送速率且不小于2幀速率(Hz)=((1/VCLK)*(HOZVAL+1)+(1/MCLK) *(WLH+WDLY+LINEBLANK))*(LINEVAL+1)]-1?LINEBANK:水平掃描信號LINE持續(xù)時間設(shè)置(MCLK個數(shù))。?LINEVAL:顯示屏的垂直尺寸。VCLK的計算還可以使用以下公式: VCLK(Hz)=(HOZVAL+1)/[(1/(幀速率×(LINEVAL+1))) -((WLH+WDLY+LINEBLANK)/MCLK)]第十五頁,共五十五頁。4.設(shè)定數(shù)據(jù)幀顯示控制(LCDBASEU、LCDBASEL、PAGEWIDTH、OFFSIZE、LCDBANK)?LCDBASEU設(shè)置顯示掃描方式中的開始地址(單掃描方式)或高位緩存地址(雙掃描方式)。 ?LCDBASEL是設(shè)置雙掃描方式的低位緩存開始地址。可用以下計算公式:LCDBASEL=LCDBASEU+(PAGEWIDTH+OFFSIZE)*(LINEVAL+1)?PAGEWDTH是顯示存儲區(qū)的可見幀寬度(半字數(shù))。 ?OFFSIZE是顯示存儲區(qū)的前行最后半字和后行第一個半字之間的半字數(shù)。 ?LCDBANK是訪問顯示存儲區(qū)的地址A[27:22]值,ENVID=1時該值不能改變。第十六頁,共五十五頁。7.3 基于Framebuffer的LCD驅(qū)動程序?qū)嶋H上,Linux為顯示設(shè)備專門提供了一類驅(qū)動程序,叫做幀緩沖(Framebuffer)設(shè)備驅(qū)動程序。第十七頁,共五十五頁。7.3.1Framebuffer驅(qū)動結(jié)構(gòu)FrameBuffer的核心是一塊供顯示使用的內(nèi)存。由系統(tǒng)中顯示機構(gòu)將顯示內(nèi)存中的內(nèi)容顯示到顯示設(shè)備上。幀緩沖驅(qū)動本質(zhì)上是一個字符設(shè)備的驅(qū)動,但是具有自己的框架。Linux下FrameBuffer驅(qū)動的結(jié)構(gòu)和邏輯都不復雜,主要需要構(gòu)建驅(qū)動程序幀緩沖操作的數(shù)據(jù)結(jié)構(gòu)structfb_ops,在其中包含注冊顯示緩沖實現(xiàn)函數(shù)的指計。第十八頁,共五十五頁。1.FrameBuffer驅(qū)動的作用在程序設(shè)計中、對顯示的操作即是對顯示內(nèi)存的操作。在簡單的操作系統(tǒng)中,可以直接利用寫顯示內(nèi)存的方法,獲得顯示的效果。在Linux操作系統(tǒng)中,提供了一種普遍的顯示接口:FraraeBuffer驅(qū)動。使用FrameBuffer驅(qū)動可以更方便地完成應用程序的開發(fā)和系統(tǒng)的移植。第十九頁,共五十五頁。如果僅僅是需要讓系統(tǒng)顯示出內(nèi)容.只需要向顯示內(nèi)存中寫入數(shù)據(jù),對于Linux,只需要切入到內(nèi)核態(tài),對顯示內(nèi)存進行操作即可。從這個角度來講,用戶不需要FrameBuffer時驅(qū)動也可以操作顯示。FrameBuffer驅(qū)動的優(yōu)點在于,它為顯示程序的開發(fā)提供了一個框架。一方面,它封裝了一部分對顯示內(nèi)存的操作,另一方面,它又對上層提供了統(tǒng)一的接口。開發(fā)者只需要實觀FrameBuffer驅(qū)動對硬件的移植,就可以在上層使用FrameBuffer驅(qū)動方便的接口。Linux中幀緩沖驅(qū)動主要涉及的文件是include/linux目錄中的fb.h。第二十頁,共五十五頁。對于FrameBuffer驅(qū)動,不僅為用戶自己的程序調(diào)用,還可以被Linux內(nèi)核和各種GUI系統(tǒng)調(diào)用。由于Linux內(nèi)核集成了很多對FrameBuffer驅(qū)動的操作,很多GUI系統(tǒng)的顯示部分也是基于FrameBuffer驅(qū)動。Linux下的FrameBuffer驅(qū)動結(jié)構(gòu)如圖7-2所示。第二十一頁,共五十五頁。用戶程序GUI系統(tǒng)Linux內(nèi)核FrameBuffer驅(qū)動硬件(LCD控制器)移植層統(tǒng)一調(diào)用接口圖7-2Linux下的FrameBuffer驅(qū)動結(jié)構(gòu)第二十二頁,共五十五頁。2.FrameBuffer驅(qū)動結(jié)構(gòu)Linux的FrmneBuffer驅(qū)動從本質(zhì)上,還是一種字符設(shè)備驅(qū)動程序,但是它不直接使用字符設(shè)備驅(qū)動程序的框架(),而是有自己的另外一套框架。fb_info是一個描述FrameBuffer屬性的數(shù)據(jù)結(jié)構(gòu),以linux2.6內(nèi)核為例,其定義如下:第二十三頁,共五十五頁。structfb_info{intnode;intflags;structfb_var_screeninfovar;/*顯示屏變量*/structfb_fix_screeninfofix:/*顯示屏固定量*/structfb_monspecsmonspecs;/*當前監(jiān)視器規(guī)格*/structwork_structqueue;/*幀緩沖事件隊列*/structfb_pixmappixmap;/*圖像硬件映射*/structfb_pixmapsprite;/*硬件光標映射*/structfb_cmapcmap;/*當前cmap*/structlist_headmodelist;/*模式列表*/structfb_ops*flops;structdevice*device;第二十四頁,共五十五頁。#ifdefCONFIG_FB_TILEBLITTINGstruetfb_tile_ops*tileops;/*幀緩沖tile操作*/#endifchar__iomem*screen_base;/*虛擬地址*/unsignedlongscreen_size;/*IO重映射VRAM或者0*/void*pseudo_palene;/*為16位顏色的調(diào)色板*/#defineFBINFO_STATE_RUNNING0#defineFBINFO_STATE_SUSPENDED1u32state;/*硬件狀態(tài),例如:掛起*/void*fbcon_par:/*fbcon使用的私有區(qū)域*//*以下為硬件相關(guān)的*/void*par;};第二十五頁,共五十五頁。在這個數(shù)據(jù)結(jié)構(gòu)中.最主要的成員為數(shù)據(jù)結(jié)構(gòu)structfb_var_screeninfo,它描述了屏幕的狀態(tài),例如可見顯示分辨率(visibleresolution)、虛擬顯示分辨率(virtualfesolution),虛擬顯示偏移、像索深度等參數(shù)。其定義如下所示:第二十六頁,共五十五頁。structfb_vat_screeninfo{__u32xres;/*可見分辨率*/__u32yres;__u32xres_virtual;/*虛擬分辨率*/__u32yres_virtual;__u32xoffset;/*虛擬到可見的偏移量*/__u32yoffset;__u32bits_per_pixel;__u32grayscale;/*如果不為0灰度級代替彩色*/structfb_bitfiedred;/*如果為真色彩代表幀緩沖的位域*/第二十七頁,共五十五頁。__u32grayscale;/*如果不為0灰度級代替彩色*/structfb_bitfiedred;/*如果為真色彩代表幀緩沖的位域*/structfb_bitfiedgreen;/*否則只有長度有意義*/structfb_bitfiedblue;structfb_bitfiedtransp;/*透明度*/__u32nonstd;/*!=0非標準像素格式*/__u32activate;__u32height;/*畫面內(nèi)存映射的高*/__u32width;/*畫面內(nèi)存映射的寬*/__u32accel_flags;/*(廢棄)*/__u32pixclock;/*每秒的像素時鐘*/第二十八頁,共五十五頁。__u32left_margin;/*畫面事件同步的值*/__u32right_margin;__u32upper_margin;一u32lower_margin;__u32hsync_len;/*水平同步的長度*/__u32vsync_len;/*垂直同步的長度*/__u32sync;__u32vmode;__u32rotate:/*順時針轉(zhuǎn)動角度*/__u32reserved[5];/*為兼容保留*/};第二十九頁,共五十五頁。在structfb_var_screeninfo中,支持虛擬顯示屏,其概念為,顯示內(nèi)存比實際可見區(qū)域要大??梢妳^(qū)域?qū)嶋H上是顯示內(nèi)存中的一個部分,它是實際在LCD上顯示的區(qū)域。在顯示內(nèi)存中,涉及的顯示屬性包括虛擬顯存寬度、虛擬顯存高度、定義偏移量x,偏移量y,可見區(qū)域?qū)挾?、可見區(qū)域高度。虛擬顯示屏的概念如圖11-6所示。第三十頁,共五十五頁。虛擬顯存X虛擬顯存Y可見區(qū)域X可見區(qū)域Y偏移量X偏移量Y圖11-6虛擬顯示屏的概念第三十一頁,共五十五頁。注意:structfb_var_screeninfo定義了一個功能較為全面的顯示信息,在一般的LCD控制器中,不是每種功能都具有,或者即使LCD控制器有這種功能,但是不實現(xiàn)也可以完成基本的操作。fb_info的成員structfb_fix_screeninfo定義了顯示輸出設(shè)備的各種屬性,包括顯示緩沖的起始地址、顯示緩沖長度、顯示緩沖類型等。這參數(shù)在設(shè)置完成后,一般都是只讀的。第三十二頁,共五十五頁。structfb_fix_screeninfo{charid[16];/*辨識字符串,例如:“TTBuiltin”*/unsignedlongsmem_start;/*幀緩沖起始地址*//*物理地址*/__u32smem_len;/*幀緩沖內(nèi)存的長度*/__u32type;__u32type_aux;/*隔行掃描位平面的插入值*/__u32visual;__u16xpanstep;__u16ypanstep;__u16ywrapstep;__u32line_length;/*每行字節(jié)數(shù)*/unsignedlongmmio_start;/*內(nèi)存映射I/0起始地址(物理地址)*/__u32mmio_len;/*內(nèi)存映射I/O的長度*/__u32accel;/*表示驅(qū)動的細節(jié)*/__u16reserved[3];/*為兼容保留*/};第三十三頁,共五十五頁。structfb_ops是fb_info另外一個重要的成員.它定義了各種對顯示緩沖的操作,這個數(shù)據(jù)結(jié)構(gòu)由一系列的函數(shù)指針組成。struetfb_ops{/*open/releaseandusagemarking*/structmodule*owner;int(*fb_open)(structfb_info*info,intuser);int(*fb_release)(structfb_info*info,intuser);ssize_t(*fb_read)(structfile*file,char_use*bur,size_tcount,loff_t*ppos);第三十四頁,共五十五頁。ssize_t(*fb_write)(structfile*charuser*bur,size_tcount,loff_t*ppos);int(*fb_check_var)(structfb_var_screeninfo*var.structfb_info*info);int(*fb_set_par)(structfb_info*info);int(*fb_setcolreg)(unsignedregno,unsignedred,unsignedgreen,unsignedblue.unsignedtransp,structfb_info*info):int(*fb_blank)(intblank,structfb_info*info);int(*fb_pan_display)(structfb_var_screeninfo*var,structfb_info*info);void(*fb_fillrect)(structfb_info*info,conststructfb_fillrect*rect);void(*fb_copyarea)(structfb_info*info,conststructfb_copyarea*region);第三十五頁,共五十五頁。void(*fb_imageblit)(structfb_info*info,conststructfb_image*image);int(*fb_cursor)(structfb_info*info,structfb_cursor*cursor);void(*fb_rotate)(structfb_info*info,intangle);int(*fb_sync)(structfb_info*info);int(*fb_iocfl)(strectinode*inode.structfile*intcmd,unsignedlongarg,structfb_info*info);int(*fb_compatioctl)(structfile*f,unsignedcmd,unsignedlongarg,structfb_info*infoint(*fb_mmap)(structfb_info*info,structfile*vm_area_struct*vma);};第三十六頁,共五十五頁。在struetfb_ops主要的成員包括.緩沖的打開fb_open、緩沖的關(guān)閉fb_release、讀fb_read、寫fb_write、控制fb_ioctl、內(nèi)存映射fb_mmap,這些和一般字符設(shè)備驅(qū)動程序是對應的。其他操作還包括調(diào)整顯示fb_pan_display、填允矩形fb_fillrect、區(qū)域復制fb_copyarea等。第三十七頁,共五十五頁。在應用程序中,一種常用的方式是使用mmap操作映射FrameBuffer到內(nèi)存。例如:#defineWidth640#defineHejgIlt480intfd;unsignedchar*FrameBuffer;fd=open(“/dev/fb0”,O_RDWR);FrameBuffer=mmap(NULL,Width*Height,-PROT_READ|PROT_WRITE,MAP_SHARED,fd,0);/*顯示區(qū)域操作*//*……*/close(fd);第三十八頁,共五十五頁。以上程序是在應用程序中清空屏幕,首先將FrameBuffer作為文件打開,接下來,使用庫函數(shù)mmap將FrameBuffer映射到內(nèi)存,mmap在內(nèi)部會調(diào)用驅(qū)動程序fb_ops。數(shù)據(jù)結(jié)構(gòu)的成員fb_mmap完成內(nèi)存映射。內(nèi)存映射完成后,可以使用各種針對內(nèi)存的操作控制顯示緩沖區(qū)。顯然,對顯示區(qū)域的操作還需要知道顯示區(qū)域的像素格式(PixelFormat)。第三十九頁,共五十五頁。知識小結(jié)1.FrameBuffer驅(qū)動本質(zhì)上是一個字符驅(qū)動程序。2.FrameBuffer驅(qū)動的核心數(shù)據(jù)結(jié)構(gòu)是fb_info,它主要提供對顯示內(nèi)存映射的功能。第四十頁,共五十五頁。7.3.2虛擬顯示緩沖驅(qū)動分析在Linux內(nèi)核中.最為基本的FrameBuffer驅(qū)動是虛擬顯示緩沖驅(qū)動(vfb),它并不針對具體的現(xiàn)實硬件,而是利用內(nèi)存中開辟的虛擬顯示內(nèi)存.模擬對顯示的操作。因此,實際上它并不可能完成顯示的功能。vfb實際上可以作為一個顯示驅(qū)動程序的模塊,利用對它的更改,可以完成對顯示硬件的移植。第四十一頁,共五十五頁。1.虛擬幀緩沖的數(shù)據(jù)結(jié)構(gòu)及初始化在Linux中,“drivers/video目錄的vfb.c文件是vfb驅(qū)動程序。其中定義vfb_driver為虛擬幀緩沖的驅(qū)動程序結(jié)構(gòu)體,vfb_device是顯示設(shè)備結(jié)構(gòu)體。第四十二頁,共五十五頁。staticstructdevice_drivervtb_driver={.name=“vfb”,.bus=&platform_bus_type,.probe=vfb_probe,.remove=vfb_remove,};slaticstructplatform_devicevfb_device={.name=“vfb”,.id=0,.dev={.release=vfb_platform_release,}};第四十三頁,共五十五頁。int__initvfb_init(void){introt=0;#ifndefMODULEchar*option=NULL;if(fb_get_options(“vfb”,&option))return-ENODEV;vfb_setup(option);#endif
第四十四頁,共五十五頁。if(!vfb_enable)return-ENXI0;ret=driver_register(&vfb_driver);if(!ret){ret=platform_device_register(&rfb_device);if(rot)driver_unregister(&vfb_driver);}returnret;}moduleinit(vib—init);第四十五頁,共五十五頁。在虛擬顯示緩沖中,vfb_init被注冊為系統(tǒng)的初始化函數(shù),完成系統(tǒng)的初始化工作。其中,vfb_driver是顯示的驅(qū)動,vfb_device是顯示的設(shè)備,driver_register()是linux2.6內(nèi)核中對設(shè)備驅(qū)動自動注冊的函數(shù),它調(diào)用設(shè)備驅(qū)動數(shù)據(jù)結(jié)構(gòu)(structdevice_driver)中的probe成員完成對設(shè)備的注冊。如果注冊成功,則調(diào)用platform_device_register把平臺設(shè)備注冊到平臺中。第四十六頁,共五十五頁。!提示在linux2.6中,設(shè)備驅(qū)動(對應結(jié)構(gòu)structdevice_driver)的注冊調(diào)用函數(shù)driver_register(structdevice_driver*),從其參數(shù)中得到probe和remove兩個成員。這兩個成員是兩個函數(shù)指針,分別在設(shè)備驅(qū)動的探測和移除的時候使用.然后調(diào)用platform_device_register(structplatform_device*)。第四十七頁,共五十五頁。在VFB設(shè)備驅(qū)動中,驅(qū)動的檢測成員在vfb_driver被定義為vfb_probe,因此注冊驅(qū)動的時候?qū)⒄{(diào)用該函數(shù)完成設(shè)備驅(qū)動的注冊。在vfb_probe函數(shù)的操作中主要工作是完成了對該顯示緩沖數(shù)據(jù)結(jié)構(gòu)structfb_info*i
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 護理督查工作匯報
- 師德師風宣講活動簡報(18篇)
- 初級會計實務(wù)-2021年5月16日上午初級會計職稱考試《初級會計實務(wù)》真題
- 初級會計經(jīng)濟法基礎(chǔ)-初級會計《經(jīng)濟法基礎(chǔ)》??荚嚲?17
- 增強現(xiàn)實環(huán)境下前列腺穿刺手術(shù)導航技術(shù)研究
- 動液面深度測量儀中聲波信號處理方法研究
- 航空葉片輔助自動測量方法研究
- 現(xiàn)代農(nóng)業(yè)產(chǎn)業(yè)園可持續(xù)發(fā)展建設(shè)方案
- 二零二五年度教育機構(gòu)教師代理任聘服務(wù)規(guī)范文本3篇
- 二零二五年度二手車交易平臺會員制買賣合同范本4篇
- 搞笑小品劇本《大城小事》臺詞完整版
- 《健康體檢知識》課件
- 《大模型原理與技術(shù)》全套教學課件
- 2023年護理人員分層培訓、考核計劃表
- 生產(chǎn)計劃主管述職報告
- GB/T 44769-2024能源互聯(lián)網(wǎng)數(shù)據(jù)平臺技術(shù)規(guī)范
- 2025年四川省新高考八省適應性聯(lián)考模擬演練(二)地理試卷(含答案詳解)
- 【經(jīng)典文獻】《矛盾論》全文
- 部編版語文五年級下冊 第一單元 專項訓練課外閱讀(含答案)
- Vue3系統(tǒng)入門與項目實戰(zhàn)
- 2024年寧夏回族自治區(qū)中考英語試題含解析
評論
0/150
提交評論