国产精品久久久久影院,成人午夜福利视频,国产精品久久久久高潮,国产精品 欧美 亚洲 制服,国产精品白浆无码流出

初始化序列由廠家提供,直接向廠家要


 

對于這個(gè)指令9341的描述是錯(cuò)誤的


FSMC的簡介


TFTLCD沒有地址線沒有地址線,而把RS連接到A0-A15其中的任意一根線。當(dāng)?shù)刂肪€來用,這樣就可以吧TFTLCD當(dāng)成一個(gè)SROM來用了。


HADDR不可以直接配置,而是固定死的,我們只能選擇不能修改


當(dāng)bank1接的是16位寬的存儲器的時(shí)候要右移一位對齊。


這其中NBL是用不到的。A只用到了一個(gè),最重要的還是看最下面這個(gè)D信號的時(shí)序,它對應(yīng)我們的ILI9341的讀寫時(shí)序。

FSMC_BCRx  這個(gè)寄存器,x代表1-4,對應(yīng)我們的前面的第一個(gè)區(qū)到第四個(gè)區(qū)。

上圖中如果單片機(jī)是STM32F4那么DATAST就不需要加1,而對于ADDSET[3:0]F1 F4都需要加1


..

---------------------------------------------LCD液晶顯示實(shí)驗(yàn)講解----------------------------

-------------------- -----------------------------1.硬件連接這里不多講了-----------------------------------------------------------------


--------------------------------------------------2.LCD&LCDdev結(jié)構(gòu)體講解  下面這個(gè)結(jié)構(gòu)體 lcd.h里面定義的-----------------------------


上面這個(gè)結(jié)構(gòu)體在LCD.h里面   RS為1命令   為0的時(shí)候是數(shù)據(jù)


這部分是將lcd-base強(qiáng)制轉(zhuǎn)化為lcd-typedef這樣的機(jī)構(gòu)體指針。最終我們要用的就是這個(gè)lcd了。


有7個(gè)參數(shù)  這樣一個(gè)結(jié)構(gòu)體就很方便的管理LCD相關(guān)的結(jié)構(gòu)體


//設(shè)置lcd顯示方向

//dir:0,豎屏    1,橫屏,

void LCD_Display_Dir(u8 dir)

{

    if(dir==0)            //豎屏

    {

        lcddev.dir=0;    //豎屏

        lcddev.width=240;

        lcddev.height=320;

        if(lcddev.id==0X9341||lcddev.id==0X6804||lcddev.id==0X5310)

        {

            lcddev.wramcmd=0X2C;

             lcddev.setxcmd=0X2A;

            lcddev.setycmd=0X2B;       

            if(lcddev.id==0X6804||lcddev.id==0X5310)

            {

                lcddev.width=320;

                lcddev.height=480;

            }

        }else if(lcddev.id==0x5510)

        {

            lcddev.wramcmd=0X2C00;

             lcddev.setxcmd=0X2A00;

            lcddev.setycmd=0X2B00; 

            lcddev.width=480;

            lcddev.height=800;

        }else if(lcddev.id==0X1963)

        {

            lcddev.wramcmd=0X2C;    //設(shè)置寫入GROM的指令

            lcddev.setxcmd=0X2B;    //設(shè)置寫x坐標(biāo)指令

            lcddev.setycmd=0X2A;    //設(shè)置寫y坐標(biāo)指令

            lcddev.width=480;        //設(shè)置寬度480

            lcddev.height=800;        //設(shè)置高度800

        }else

        {

            lcddev.wramcmd=0X22;

             lcddev.setxcmd=0X20;

            lcddev.setycmd=0X21;  

        }

    }else                 //橫屏

    {                      

        lcddev.dir=1;    //橫屏

        lcddev.width=320;

        lcddev.height=240;

        if(lcddev.id==0X9341||lcddev.id==0X5310)

        {

            lcddev.wramcmd=0X2C;

             lcddev.setxcmd=0X2A;

            lcddev.setycmd=0X2B;       

        }else if(lcddev.id==0X6804)     

        {

             lcddev.wramcmd=0X2C;

             lcddev.setxcmd=0X2B;

            lcddev.setycmd=0X2A; 

        }else if(lcddev.id==0x5510)

        {

            lcddev.wramcmd=0X2C00;

             lcddev.setxcmd=0X2A00;

            lcddev.setycmd=0X2B00; 

            lcddev.width=800;

            lcddev.height=480;

        }else if(lcddev.id==0X1963)

        {

            lcddev.wramcmd=0X2C;    //設(shè)置寫入GROM的指令

            lcddev.setxcmd=0X2A;    //設(shè)置寫x坐標(biāo)指令

            lcddev.setycmd=0X2B;    //設(shè)置寫y坐標(biāo)指令

            lcddev.width=800;        //設(shè)置寬度800

            lcddev.height=480;        //設(shè)置寬度480

        {

            lcddev.wramcmd=0X22;

             lcddev.setxcmd=0X21;

            lcddev.setycmd=0X20;  

        }

        if(lcddev.id==0X6804||lcddev.id==0X5310)

        {      

            lcddev.width=480;

            lcddev.height=320;             

        }

    } 

    LCD_Scan_Dir(DFT_SCAN_DIR);    //默認(rèn)掃描方向

}     


-------------------------------------------------------3 7個(gè)底層接口函數(shù)--------------------------------------------------------


 寫寄存器值函數(shù)+寫數(shù)據(jù)函數(shù)=寫寄存器內(nèi)容函數(shù)


5.讀寄存器內(nèi)容函數(shù),發(fā)送寄存器地址,讀取的數(shù)據(jù)返回給調(diào)用函數(shù)。


6開始寫GRAM函數(shù)


7寫GROM函數(shù),開始寫一些顏色值進(jìn)去


這樣一個(gè)函數(shù)就完成了寫寄存器操作,因?yàn)橛蠪SMC會(huì)自動(dòng)完成


//寫LCD數(shù)據(jù)

//data:要寫入的值

void LCD_WR_DATA(vu16 data)

{      

    data=data;            //使用-O2優(yōu)化的時(shí)候,必須插入的延時(shí)

    LCD->LCD_RAM=data;         

}


//讀LCD數(shù)據(jù)

//返回值:讀到的值

u16 LCD_RD_DATA(void)

{

    vu16 ram;            //防止被優(yōu)化

    ram=LCD->LCD_RAM;    

    return ram;     

}  


//讀寄存器

//LCD_Reg:寄存器地址

//返回值:讀到的數(shù)據(jù)

u16 LCD_ReadReg(u16 LCD_Reg)

{                                           

    LCD_WR_REG(LCD_Reg);        //寫入要讀的寄存器序號

    delay_us(5);          

    return LCD_RD_DATA();        //返回讀到的值

}            


//寫寄存器內(nèi)容函數(shù)

//LCD_Reg:寄存器地址

//LCD_RegValue:要寫入的數(shù)據(jù)

void LCD_WriteReg(u16 LCD_Reg,u16 LCD_RegValue)

{    

    LCD->LCD_REG = LCD_Reg;        //寫入要寫的寄存器序號     

    LCD->LCD_RAM = LCD_RegValue;//寫入數(shù)據(jù)                 

}       


//開始寫GRAM

void LCD_WriteRAM_Prepare(void)

{

     LCD->LCD_REG=lcddev.wramcmd;      

}      


------------------------------------------------4 LCD初始化函數(shù)講解---------------------------------------------------------------------------


初始化完GPIO后就要對FSMC 進(jìn)行配置,


對應(yīng)這些寄存器對FSMC進(jìn)行初始化設(shè)置。


對FSMC進(jìn)行讀寫時(shí)序的初始化,就是上面的這段代碼,對應(yīng)的寄存器是下面這兩個(gè)寄存器。




接下來要配置的一個(gè)結(jié)構(gòu)體



-----------------------------------------5坐標(biāo)設(shè)置函數(shù)-----------------------------------------------------------------------


setxcmd指令  作用:設(shè)置x坐標(biāo)         


x的高8位


x的低8位


setycmd


y坐標(biāo)的高8位


y坐標(biāo)的低8位


-------------------------------------------6 LCD畫點(diǎn)函數(shù)-----------------------------------------------------------------------------


快速畫點(diǎn)函數(shù)


------------------------------------7  LCD讀點(diǎn)函數(shù)-----------------------------------------------


x y是讀取的點(diǎn)的坐標(biāo),返回值是這個(gè)點(diǎn)的顏色。


讀出來的是RGB565的格式。


----------------------------------------8 LCD字符顯示函數(shù) ------------------------------------------------------


疊加方式 保持底色   非疊加方式 沒有底色,這里 減空格 是因?yàn)槭菑目崭耖_始取模的。


csize是一個(gè)字節(jié)點(diǎn)陣集所對應(yīng)的字節(jié)數(shù)。


csize 這個(gè)句話得到一個(gè)字符點(diǎn)陣集的字節(jié)數(shù)。 其中 size=12 、16、24四種值。


下一句num是字符的偏移量,假如我們要顯示!,那么此時(shí)num就是2  又因?yàn)?nbsp; “-”(減號)的mun是0,所以, “!”  的mun是1·


顏色由POINT_color


上述的字模數(shù)組在上面的 font.h里面。


生成上面的字符碼可以用PCtoLCD2002


在LIENTEK后輸入 要生成的字符,然后點(diǎn)擊  生成字模,就可以自動(dòng)生成上面的字符碼了。


根據(jù)下面這個(gè)來進(jìn)行取模設(shè)置。 輸出方式是從上到下從坐到右


ASCII的字符  高度=寬度的一倍 例如:asc2_2412[95][36]   就是豎向的(字符高為24)那么字符寬就=12。那么這個(gè)字符共有3x8=24  也會(huì)是高度占3個(gè)字節(jié),寬度=24/2=12   高度的字節(jié)數(shù)x寬度=3x12=36個(gè)字節(jié)。95代表這個(gè)數(shù)組中有95個(gè)字符。


生成是最高位在上,一直減到最低位。這樣字節(jié)1的8位都有效,   字節(jié)2只有高4位有效,字節(jié)3 的8位都有效,字節(jié)4也只有高4位有效。這樣以此類推。


看上面的字符數(shù)組   行坐標(biāo)表示 一個(gè) 字符


--------------------------------------------------例程測試----------------------------------------------------------


關(guān)鍵字:正點(diǎn)原子  LCD-TFT  原理講解  配置介紹 引用地址:正點(diǎn)原子LCD-TFT原理講解與配置介紹

上一篇:劉凱老師 硬件 IIC通信一
下一篇:STM32(9) GPIO口復(fù)用功能實(shí)現(xiàn)(正點(diǎn)原子)

推薦閱讀

根據(jù)統(tǒng)計(jì)局統(tǒng)計(jì)數(shù)據(jù),2018年前2個(gè)月,中國工業(yè)機(jī)器人產(chǎn)量18770臺,較2017年前兩月產(chǎn)量同比增長37%,工業(yè)機(jī)器人產(chǎn)量迎來開門紅。 隨著國內(nèi)新增工業(yè)機(jī)器人產(chǎn)能的逐步釋放,國內(nèi)工業(yè)機(jī)器人產(chǎn)量增長仍將持續(xù)。2013年,中國工業(yè)機(jī)器人產(chǎn)量超過13.1萬臺,較2016年大幅增長81%,2018年將有多個(gè)工業(yè)機(jī)器人產(chǎn)業(yè)基地的陸續(xù)建成,2018年全年工業(yè)機(jī)器人產(chǎn)量實(shí)現(xiàn)較...
2019年9月7日全球生物制藥企業(yè)阿斯利康連續(xù)第四年亮相世界物聯(lián)網(wǎng)博覽會(huì)(以下簡稱“物博會(huì)”),通過六大創(chuàng)新醫(yī)療場景,14大創(chuàng)新診療一體化全病程管理解決方案,35項(xiàng)智慧醫(yī)療新技術(shù)應(yīng)用,借助VR、情景模擬等方式,用沉浸式、互動(dòng)性體驗(yàn),向公眾展示其依托物聯(lián)網(wǎng)、大數(shù)據(jù)、5G、AI等技術(shù)賦能智慧健康的創(chuàng)新實(shí)踐。 其中全新推出的六大創(chuàng)新診療一體化全病程管...
近年來因大數(shù)據(jù)分析與人工智能的高速發(fā)展,大幅提升智能交通在不同層次上的創(chuàng)新,尤其以車載領(lǐng)域較為明顯,而其中的智能巴士、公共安全車輛(警車/消防車/救護(hù)車等)管理及車隊(duì)管理更是時(shí)下熱門的應(yīng)用趨勢。從智能巴士的到站信息推播、司機(jī)疲勞監(jiān)測、車內(nèi)安全監(jiān)控,到公共安全車輛的緊急回應(yīng)、救護(hù)車人員即時(shí)查詢醫(yī)療紀(jì)錄、行車路線的優(yōu)先安排,以及車隊(duì)管...
9月10日,機(jī)器視覺服務(wù)商“賽那德”宣布,已于近日完成3000萬元A輪融資。本輪融資由招商局創(chuàng)投和招商租賃聯(lián)合領(lǐng)投。據(jù)賽那德創(chuàng)始人、CEO李華介紹,本輪融資將用于打造強(qiáng)健的研發(fā)和供應(yīng)鏈體系,支持新產(chǎn)品按計(jì)劃在客戶端落地驗(yàn)證。此外,李華還表示:“我們在物流行業(yè)找到了機(jī)器視覺合適的應(yīng)用場景。優(yōu)先切入機(jī)器代人痛點(diǎn)明顯、客戶算得過賬、可復(fù)制量產(chǎn)的...

史海拾趣

小廣播
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號

 
EEWorld服務(wù)號

 
汽車開發(fā)圈

 
機(jī)器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務(wù)審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved