關(guān) 閉

新聞中心

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

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

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

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



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


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


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



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




評論


相關(guān)推薦

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

關(guān)閉