關(guān) 閉

新聞中心

EEPW首頁(yè) > 安全與國(guó)防 > 設(shè)計(jì)應(yīng)用 > 基于嵌入式技術(shù)的MultiBus-CPU模塊設(shè)計(jì)

基于嵌入式技術(shù)的MultiBus-CPU模塊設(shè)計(jì)

作者: 時(shí)間:2010-07-17 來(lái)源:網(wǎng)絡(luò) 收藏

  若要先設(shè)定幀緩沖區(qū)的物理地址和長(zhǎng)度,就要在S1D13506.h里指定,然后在驅(qū)動(dòng)程序里通過(guò)對(duì)fb_fix_screeninfo賦值來(lái)實(shí)現(xiàn):



  定義當(dāng)前顯示輸出狀態(tài),通過(guò)對(duì)fb_var_screeninfo結(jié)構(gòu)賦值來(lái)實(shí)現(xiàn):


  Linux下驅(qū)動(dòng)程序總是先調(diào)用module_init(),因此LCD初始化通過(guò)調(diào)用module_init(sldl3xxxfb_init)來(lái)實(shí)現(xiàn)。sldl3xxxfb_init初始化函數(shù)部分代碼如下:


  首先對(duì)LCD的背光燈進(jìn)行點(diǎn)亮。LCD顯示是一種被動(dòng)的顯示模式,不能發(fā)光,只能依靠控制透射或反射周圍環(huán)境的光來(lái)達(dá)到顯示的目的。因此,必須通過(guò)寫寄存器用高電平指示對(duì)LCD加3.2 V電壓來(lái)實(shí)現(xiàn)背光燈的點(diǎn)亮。其函數(shù)的部分代碼如下:



  系統(tǒng)采用的彩色LCD最佳分辨率是800×600,但通過(guò)前面對(duì)結(jié)構(gòu)Struct fb_var_screeninfo的賦值并不能真正設(shè)定其分辨率。因?yàn)榻Y(jié)構(gòu)Struct fb_var_screeninfo的值只是作為一個(gè)顯示記錄來(lái)用,必須通過(guò)設(shè)定寄存器的值才能達(dá)到需要的分辨率。本系統(tǒng)在S1D13506.h頭文件里用一個(gè)數(shù)組對(duì)寄存器的設(shè)置作了一個(gè)預(yù)定義,然后在初始化函數(shù)里利用sldReg和sldValue兩個(gè)實(shí)參寫入,從而設(shè)定了寄存器的值。




評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉