• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    面向應(yīng)用對(duì)象的嵌入式終端構(gòu)件設(shè)計(jì)方法研究*

    2018-12-07 08:32:02,,
    關(guān)鍵詞:原理圖嵌入式構(gòu)件

    ,,

    (1.昆山鑫盛盟創(chuàng)科技有限公司,昆山 215300;2.蘇州大學(xué);3.武夷學(xué)院)

    引 言

    嵌入式系統(tǒng)終端構(gòu)件是具有通用功能的嵌入式外圍設(shè)備的軟硬件實(shí)體總稱(chēng)[1]。它們負(fù)責(zé)實(shí)現(xiàn)嵌入式系統(tǒng)的信息采集、顯示、交互、控制等具體應(yīng)用功能。這類(lèi)應(yīng)用對(duì)象具有一定的通用性,因此終端構(gòu)件可復(fù)用可移植性顯得相當(dāng)重要。當(dāng)前終端構(gòu)件的復(fù)用和移植效率還處于較低的水平。這其中有嵌入式系統(tǒng)本身特性的因素,也有設(shè)計(jì)規(guī)范化的問(wèn)題。目前市場(chǎng)上終端構(gòu)件銷(xiāo)售商通常是將工程師提供的一系列零碎的源碼、文檔、參考手冊(cè)、工具等十幾甚至幾十個(gè)文件打包和硬件一起提供給用戶(hù),用戶(hù)面對(duì)一堆雜亂無(wú)章的文件,通常需要花費(fèi)大量的時(shí)間來(lái)尋找、梳理與自己需求相關(guān)的線索。從這側(cè)面可以看出大多數(shù)嵌入式工程師的目的只是開(kāi)發(fā)出產(chǎn)品實(shí)現(xiàn)功能,構(gòu)件設(shè)計(jì)過(guò)程往往是依經(jīng)驗(yàn)行事,對(duì)于底層驅(qū)動(dòng)程序設(shè)計(jì)沒(méi)有徹底貫徹軟件工程思想,開(kāi)發(fā)過(guò)程缺少規(guī)范化的文檔管理等。這些因素都直接導(dǎo)致了終端構(gòu)件可復(fù)用性和可移植性較差。

    近些年來(lái)人們參考通用計(jì)算機(jī)軟件工程體系,將基于構(gòu)件化的軟件開(kāi)發(fā)(Component-Based Software Development,CBSD)思想引入到嵌入式系統(tǒng)設(shè)計(jì)當(dāng)中。Kopetz等人提出了嵌入式軟件組合構(gòu)建理論,明確了構(gòu)件化設(shè)計(jì)、組合構(gòu)造的思想和原則,并建立構(gòu)件可組合設(shè)計(jì)的理論基礎(chǔ)[2-3]。參考文獻(xiàn)[4]提出了一種嵌入式系統(tǒng)代碼合成技術(shù),通過(guò)增加中間層,屏蔽硬件和平臺(tái)特性。本文針對(duì)嵌入式系統(tǒng)終端構(gòu)件設(shè)計(jì)可移植性差等問(wèn)題,從面向應(yīng)用對(duì)象的角度,厘清終端構(gòu)件共性和個(gè)性知識(shí)要素,建立終端構(gòu)件概念模型,從硬件原理圖繪制到驅(qū)動(dòng)程序設(shè)計(jì)一系列過(guò)程,提出一套符合構(gòu)件化思想、層次清晰、封裝合理且與MCU無(wú)關(guān)的終端構(gòu)件一般性設(shè)計(jì)方法,并通過(guò)一個(gè)液晶屏終端構(gòu)件設(shè)計(jì)實(shí)例來(lái)闡述并驗(yàn)證其合理性和有效性。

    1 嵌入式終端構(gòu)件基本概念

    圖1 嵌入式系統(tǒng)構(gòu)件層次模型

    構(gòu)件是系統(tǒng)中模塊化、可部署和可替換的部件,構(gòu)件封裝對(duì)外提供一組接口[5]。嵌入式終端構(gòu)件也稱(chēng)底層外設(shè)構(gòu)件或應(yīng)用構(gòu)件,在嵌入式系統(tǒng)中屬于最外層次的構(gòu)件,按照生產(chǎn)者和消費(fèi)者關(guān)系,終端構(gòu)件只有需求接口而沒(méi)有供給接口。需求接口接受其中間構(gòu)件或者核心構(gòu)件提供的服務(wù),如鍵盤(pán)模塊、LED或LCD顯示模塊等。終端構(gòu)件可以調(diào)用底層內(nèi)部構(gòu)件,如LCD可調(diào)用GPIO、SPI等。終端構(gòu)件通常對(duì)應(yīng)著一種或多種具體應(yīng)用功能,如嵌入式系統(tǒng)的信息采集、顯示、交互、控制等功能。嵌入式系統(tǒng)構(gòu)件層次模型圖如圖1所示。

    2 面向應(yīng)用對(duì)象的終端硬件構(gòu)件原理圖繪制

    2.1 終端硬件構(gòu)件概念模型

    嵌入式硬件構(gòu)件(Hardware Component,HwC)是指將一個(gè)或者多個(gè)硬件功能模塊、支撐電路及其功能描述封裝在一起,提供一系列規(guī)范的輸入/輸出接口的可重用的硬件實(shí)體[6]。一個(gè)完整硬件構(gòu)件通常包含三大部分:構(gòu)件描述、構(gòu)件實(shí)體、構(gòu)件接口[7]。構(gòu)件描述是一個(gè)硬件構(gòu)件的說(shuō)明文檔,主要內(nèi)容包括硬件名稱(chēng)、主要功能、引腳說(shuō)明及注意事項(xiàng)等。一個(gè)終端硬件構(gòu)件可表述為如下模型[8]:

    HwC={構(gòu)件實(shí)體,構(gòu)件描述,接口描述};

    構(gòu)件實(shí)體={封裝的硬件實(shí)現(xiàn)};

    構(gòu)件描述={構(gòu)件的功能描述,構(gòu)件注意事項(xiàng)};

    接口描述={接口標(biāo)識(shí),接口網(wǎng)標(biāo),接口含義,調(diào)用說(shuō)明}。

    2.2 硬件原理圖繪制基本規(guī)則

    硬件構(gòu)件的概念模型可通過(guò)硬件原理圖進(jìn)行表述。為了清晰表達(dá)硬件構(gòu)件概念模型,在繪制原理圖時(shí),需遵循以下基本規(guī)則:①同類(lèi)型元器件命名時(shí)以相同字母為前綴并進(jìn)行編號(hào),如電阻名稱(chēng)為R1、R2,電容名稱(chēng)C1、C2等;②應(yīng)給出詳細(xì)的文字描述,包括構(gòu)件中英文名稱(chēng)、功能描述、接口描述以及注意事項(xiàng)等,以提升硬件構(gòu)件的可讀性;③用虛框封裝硬件構(gòu)件的電路及文字描述,虛框之內(nèi)為硬件構(gòu)件的實(shí)體;④標(biāo)明硬件構(gòu)件的對(duì)外輸入/輸出接口,接口標(biāo)識(shí)分為接口注釋和接口網(wǎng)標(biāo)兩種,接口注釋用來(lái)描述接口功能,標(biāo)于虛框之內(nèi),接口網(wǎng)標(biāo)則標(biāo)于虛框之外,用來(lái)表示電路連接特性。

    對(duì)于終端構(gòu)件而言,因其只有需求接口,硬件設(shè)計(jì)時(shí)首要考慮的問(wèn)題就是該構(gòu)件需要什么樣的信號(hào)才能工作。因此繪制終端構(gòu)件原理圖時(shí),沒(méi)有對(duì)外接口網(wǎng)標(biāo)而只有接口注釋。圖2給出一個(gè)典型LCD終端構(gòu)件的原理圖。一個(gè)遵循規(guī)范繪制的原理圖,可讀性強(qiáng),與之相對(duì)應(yīng)的驅(qū)動(dòng)構(gòu)件修改方便,可有效提高移植效率。

    圖2 LCD構(gòu)件原理圖

    2.3 驅(qū)動(dòng)構(gòu)件與原理圖的對(duì)應(yīng)關(guān)系

    構(gòu)件是軟硬件綜合體,硬件引腳連接只是最基本前提,要實(shí)現(xiàn)構(gòu)件的正常功能,必須有構(gòu)件驅(qū)動(dòng)程序進(jìn)行配合。引腳是硬件構(gòu)件對(duì)外的唯一接口,與之對(duì)應(yīng)驅(qū)動(dòng)構(gòu)件要有相應(yīng)的代碼表達(dá)出原理圖的含義。從終端驅(qū)動(dòng)構(gòu)件可移植角度出發(fā),驅(qū)動(dòng)構(gòu)件應(yīng)面向應(yīng)用對(duì)象也就是構(gòu)件本身進(jìn)行編程,實(shí)現(xiàn)這一目的必須在驅(qū)動(dòng)程序的頭文件中添加引腳映射功能。通過(guò)引腳宏定義映射,可以屏蔽不同MCU引腳的差異性,驅(qū)動(dòng)程序編程只需針對(duì)終端構(gòu)件的引腳展開(kāi)即可,無(wú)需關(guān)心不同型號(hào)MUC引腳的區(qū)別。構(gòu)件復(fù)用到相同型號(hào)的MCU不需要更改任何內(nèi)容即可直接復(fù)用,如果移植到不同型號(hào)MCU為核心的應(yīng)用系統(tǒng)當(dāng)中,只需改動(dòng)頭文件引腳的映射關(guān)系,對(duì)于驅(qū)動(dòng)程序來(lái)說(shuō),則可做到最小的改動(dòng)即可實(shí)現(xiàn)高效移植。例如圖2中原理圖中基于恩智浦KL25微控制器的引腳映射,定義如下:

    #define LCD_CLK (PTA_NUM|15) //LCD時(shí)鐘

    #define LCD_SDI (PTA_NUM|16) //LCD主出從入

    #define LCD_RS (PTA_NUM|4) //LCD復(fù)位

    #define LCD_DC (PTA_NUM|12) //LCD數(shù)據(jù)/命令

    #define LCD_SDO (PTA_NUM|17) //LCD主入從出

    3 面向應(yīng)用對(duì)象的終端驅(qū)動(dòng)構(gòu)件設(shè)計(jì)

    3.1 終端驅(qū)動(dòng)構(gòu)件概念模型

    終端構(gòu)件是包含硬件構(gòu)件和驅(qū)動(dòng)構(gòu)件的完整軟硬件實(shí)體。硬件構(gòu)件生產(chǎn)通常都會(huì)遵循一定的標(biāo)準(zhǔn)規(guī)范。從某種意義上說(shuō),驅(qū)動(dòng)構(gòu)件設(shè)計(jì)更大程度地決定了該終端構(gòu)件的可復(fù)用和可移植性的高低。驅(qū)動(dòng)構(gòu)件是直接面向硬件操作的軟件程序及相應(yīng)的說(shuō)明文檔。驅(qū)動(dòng)構(gòu)件直接和硬件打交道,從軟件工程角度來(lái)看,驅(qū)動(dòng)程序必須與核心構(gòu)件具體型號(hào)的MCU無(wú)關(guān),而是面向終端構(gòu)件本身,這樣才具有復(fù)用和移植價(jià)值。終端驅(qū)動(dòng)構(gòu)件設(shè)計(jì)的關(guān)鍵問(wèn)題是如何對(duì)這類(lèi)構(gòu)件的共性和具體應(yīng)用系統(tǒng)的特性進(jìn)行分析,抽象出該構(gòu)件對(duì)象的屬性和對(duì)外接口[9]。

    終端驅(qū)動(dòng)構(gòu)件(Terminal Drive Component,TDC)包括頭文件(.h)、源程序文件(.c)文件、文件描述、接口描述等,其概念模型可表述為:

    TDC={頭文件,源程序文件,文件描述,接口描述}

    頭文件={具體硬件引腳連接映射關(guān)系,功能函數(shù)聲明,全局常量定義}

    源程序文件={函數(shù)功能實(shí)現(xiàn)}

    文件描述={頭文件標(biāo)注,源程序文件標(biāo)注,函數(shù)頭注}

    函數(shù)頭注={函數(shù)名稱(chēng),函數(shù)功能描述,返回值類(lèi)型,參數(shù)描述,注意事項(xiàng)}

    參數(shù)描述={參數(shù)列表,參數(shù)方向,參數(shù)含義}

    用戶(hù)在使用構(gòu)件時(shí),可以通過(guò)頭文件描述的構(gòu)件完整信息進(jìn)行接口調(diào)用,而不必關(guān)心封裝在構(gòu)件源程序中的服務(wù)實(shí)現(xiàn)細(xì)節(jié)。一個(gè)設(shè)計(jì)良好的構(gòu)件被復(fù)用或者移植到不同嵌入式系統(tǒng)中,通常只需修改少量頭文件,對(duì)于源程序盡量做到少改甚至不改。

    3.2 終端驅(qū)動(dòng)構(gòu)件封裝基本原則

    為了便于復(fù)用和移植,驅(qū)動(dòng)構(gòu)件設(shè)計(jì)應(yīng)遵循以下基本原則和規(guī)范:

    ① 命名一致性原則。驅(qū)動(dòng)構(gòu)件的頭文件和源程序文件的主文件名必須與驅(qū)動(dòng)構(gòu)件名一致,構(gòu)件的屬性和內(nèi)外部函數(shù)命名統(tǒng)一以構(gòu)件名+屬性名/操作名形式,命名應(yīng)有見(jiàn)名知義的效果。

    ② 通信內(nèi)聚性和分層內(nèi)聚性原則。內(nèi)聚性指的是構(gòu)件內(nèi)部函數(shù)功能清晰單一明確,只負(fù)責(zé)一組相關(guān)的操作。通信內(nèi)聚指的要有專(zhuān)門(mén)負(fù)責(zé)構(gòu)件的底層通信函數(shù);分層內(nèi)聚指的是函數(shù)設(shè)計(jì)應(yīng)有層次化,高層函數(shù)能調(diào)用底層函數(shù),底層函數(shù)不能調(diào)用高層函數(shù)[10]。

    ③ 內(nèi)外有別原則。構(gòu)件函數(shù)分為內(nèi)部函數(shù)和外部函數(shù),內(nèi)部函數(shù)僅限構(gòu)件內(nèi)部調(diào)用,外部接口函數(shù)是外界操作構(gòu)件的接口,外部程序訪問(wèn)構(gòu)件屬性必須借助外部接口函數(shù)進(jìn)行,不可直接訪問(wèn)構(gòu)件屬性。

    ④ 松耦合原則。構(gòu)件應(yīng)嚴(yán)格限制全局變量的使用,且所有數(shù)據(jù)傳遞都要通過(guò)函數(shù)的形參進(jìn)行,這樣編碼既簡(jiǎn)潔高效又安全可靠。

    4 LCD終端構(gòu)件設(shè)計(jì)實(shí)例

    TFTLCD即薄膜晶體管液晶顯示器,是一種常用液晶顯示器件。下面我們利用上文所述的設(shè)計(jì)思想和基本原則從原理圖繪制、公共要素分析及頭文件設(shè)計(jì)、驅(qū)動(dòng)要素分析及函數(shù)設(shè)計(jì)等方面給出一個(gè)面向應(yīng)用對(duì)象的TFTLCD構(gòu)件分析和設(shè)計(jì)完整過(guò)程。

    4.1 LCD構(gòu)件原理圖繪制

    LCD的硬件對(duì)外唯一接口是其連接引腳。因此原理圖的繪制用虛線封裝其內(nèi)部結(jié)構(gòu),虛線內(nèi)部給出引腳的基本含義,虛線外部給出對(duì)應(yīng)的接口網(wǎng)標(biāo),本例LCD引腳連接的網(wǎng)標(biāo)為恩智浦公司的Kinetis 系列KL25微控制器[11]。同時(shí)在虛擬框內(nèi)部給出詳細(xì)的構(gòu)件說(shuō)明,包括構(gòu)件中英文名稱(chēng)、各引腳功能和使用說(shuō)明以及注意事項(xiàng)等,如圖3所示。這樣在系統(tǒng)移植過(guò)程中就可快速進(jìn)行引腳的連接。

    圖3 LCD構(gòu)件與KL25系統(tǒng)連接原理圖

    4.2 LCD構(gòu)件公共要素分析及頭文件設(shè)計(jì)

    要提高LCD構(gòu)件的可移植性,就必須實(shí)現(xiàn)面向應(yīng)用對(duì)象的設(shè)計(jì)和編程,屏蔽不同型號(hào)MCU的差異性。因此須在LCD構(gòu)件的頭文件lcd.h中對(duì)給出構(gòu)件的引腳連接的MCU的引腳進(jìn)行定義,使用宏定義描述硬件連接線,且每個(gè)接線都單獨(dú)宏定義,更具普適性。

    除此之外,構(gòu)件的頭文件應(yīng)給出文件頭注,包括文件名稱(chēng)、功能概要、版本號(hào)、編寫(xiě)者或修改者姓名、最后修改時(shí)間等信息。頭文件包含(#include)為L(zhǎng)CD構(gòu)件提供服務(wù)的核心構(gòu)件或者中間構(gòu)件頭文件。LCD驅(qū)動(dòng)構(gòu)件的函數(shù)聲明都放在lcd.h頭文件。LCD驅(qū)動(dòng)構(gòu)件內(nèi)部函數(shù)和外部接口函數(shù)分開(kāi)聲明。LCD構(gòu)件使用的一些全局常量,如屏幕寬高以及顏色類(lèi)型都在lcd.h頭文件中進(jìn)行定義。

    4.3 LCD構(gòu)件源程序文件設(shè)計(jì)

    LCD構(gòu)件源程序文件lcd.c和頭文件一樣,給出文件頭注釋?zhuān)瑑?nèi)容與頭文件的頭注類(lèi)似,每個(gè)函數(shù)也都必須給出函數(shù)頭注,函數(shù)內(nèi)部代碼關(guān)鍵語(yǔ)句也應(yīng)有行注釋或邊注釋?zhuān)岣吡顺绦蚩勺x性。終端驅(qū)動(dòng)構(gòu)件函數(shù)從屬于驅(qū)動(dòng)構(gòu)件,驅(qū)動(dòng)函數(shù)的命名除要體現(xiàn)函數(shù)功能之外,還需要體現(xiàn)其從屬構(gòu)件不同的實(shí)現(xiàn)方式,如LCD_Init(LCD初始化)、LCD_ShowImage(LCD顯示圖片)等,避免構(gòu)件函數(shù)出現(xiàn)同名現(xiàn)象,同時(shí)函數(shù)名也要能夠“顧名思義”。

    4.4 LCD構(gòu)件驅(qū)動(dòng)要素分析及函數(shù)層次化設(shè)計(jì)

    (1)驅(qū)動(dòng)要素分析及通信函數(shù)設(shè)計(jì)

    LCD構(gòu)件能夠運(yùn)行的基礎(chǔ)是LCD與系統(tǒng)核心MCU正常通信。TFTLCD采用的驅(qū)動(dòng)控制器型號(hào)為ILI9341。構(gòu)件驅(qū)動(dòng)程序主要工作就是和ILI9341芯片打交道,MCU與ILI9341之間采用串行外設(shè)接口(Serial Peripheral Interface,SPI)方式通信。SPI通信需要考慮驅(qū)動(dòng)芯片各引腳數(shù)據(jù)傳輸?shù)臅r(shí)序問(wèn)題,對(duì)ILI9341驅(qū)動(dòng)芯片的初始化涉及對(duì)不同寄存器進(jìn)行操作,是一系列的復(fù)雜過(guò)程。對(duì)于一般嵌入式開(kāi)發(fā)人員,并不希望了解其復(fù)雜內(nèi)部機(jī)制,而是只要少量驅(qū)動(dòng)代碼修改便能移植使用。

    LCD構(gòu)件的中上層函數(shù)如初始化、顯示等上層功能部函數(shù)的運(yùn)行均需建立在通信函數(shù)正常運(yùn)行的前提之下。根據(jù)構(gòu)件的通信內(nèi)聚性和分層內(nèi)聚性原則,給出了構(gòu)件專(zhuān)用底層通信函數(shù)代碼如下(按照命名一致性原則,函數(shù)命名統(tǒng)一采用LCD_操作名):

    //發(fā)送8位數(shù)據(jù)

    void LCD_wr_data(uint_8 data){

    GPIO_set(LCD_DC,1);

    //LCD_DC高電平表示發(fā)送數(shù)據(jù)

    SPI_send(0,data);

    //使用0號(hào)SPI模塊發(fā)送8位數(shù)據(jù)

    }

    //發(fā)送8位寄存器命令

    void LCD_ wr_reg (uint_8 data){

    GPIO_set(LCD_DC,0);

    //LCD_DC低電平表示寫(xiě)寄存器

    SPI_send1(0,data);

    //使用0號(hào)SPI模塊發(fā)送8位寄存器命令

    }

    可以看出,數(shù)據(jù)通信函數(shù)調(diào)用了GPIO 構(gòu)件和SPI通信構(gòu)件。GPIO 構(gòu)件用來(lái)實(shí)現(xiàn)MCU引腳的初始化和狀態(tài)設(shè)置;SPI通信的初始化必須按照LCD驅(qū)動(dòng)芯片ILI9341設(shè)定的時(shí)序進(jìn)行。根據(jù)ILI9341參考手冊(cè)[12],該芯片使用的是數(shù)據(jù)發(fā)送低電平空閑,上升沿取數(shù)模式,對(duì)應(yīng)的時(shí)鐘極性CPOL及相位CPHA選擇均為0,因此將引腳初始化和SPI構(gòu)件初始化如下:

    GPIO_init(LCD_RS,1,0);

    GPIO_init(LCD_DC,1,0);

    SPI_init(SPI_0,1,6000,0,0);

    說(shuō)明:GPIO_init是GPIO構(gòu)件初始化函數(shù),分別將LCD_RS和LCD_DC設(shè)置為輸出引腳,默認(rèn)值為低電平。SPI_init 為構(gòu)件初始化函數(shù),參數(shù)SPI_0為0號(hào)SPI模塊;1為MCU為通信主機(jī);6000為通信波特率;最后兩個(gè)參數(shù) 0、0分別為時(shí)鐘極性及相位。這些通信的關(guān)鍵要素必須在文檔中交代清楚,以便移植時(shí)參考。終端構(gòu)件在移植時(shí),除了引腳連接和宏定義映射外,作為功能實(shí)現(xiàn)的基礎(chǔ),驅(qū)動(dòng)構(gòu)件的通信函數(shù)是極為關(guān)鍵的,必須予以高度重視。

    (2)中上層功能函數(shù)設(shè)計(jì)

    有了底層通信函數(shù)作為基礎(chǔ),其他中上層功能函數(shù)就可實(shí)現(xiàn)具體功能,例如LCD的初始化函數(shù)、LCD顯示區(qū)域設(shè)置函數(shù)等都是對(duì)ILI9341寄存器一系列的設(shè)置,過(guò)程相對(duì)比較復(fù)雜,但是每一種模式通常都遵循固定的順序步驟,需根據(jù)ILI9341參考手冊(cè)調(diào)用底層通信函數(shù)LCD_wr_reg等對(duì)寄存器進(jìn)行一系列的設(shè)置,設(shè)計(jì)時(shí)將具體的步驟封裝,對(duì)外屏蔽其復(fù)雜的寫(xiě)寄存器操作,必要時(shí)通過(guò)參數(shù)設(shè)置入口,開(kāi)發(fā)人員只需調(diào)用即可,該類(lèi)函數(shù)借助通信函數(shù)實(shí)現(xiàn)其操作與構(gòu)件底層通信無(wú)關(guān),易于復(fù)用和移植。下面是兩個(gè)常用功能函數(shù)樣例:

    void LCD_Init(void); //LCD構(gòu)件初始化

    void LCD_AreaSet(uint_16 x1,uint_16 y1,uint_16 x2,uint_16 y2);

    //顯示區(qū)域設(shè)置

    其中,LCD_AreaSet函數(shù)中x1、y1和x2、y2是確定顯示矩形區(qū)域的對(duì)角線兩點(diǎn)坐標(biāo)值。

    LCD具體應(yīng)用功能(如畫(huà)點(diǎn)、畫(huà)線、畫(huà)圈、顯示文字、顯示圖像等)需要綜合考慮,如何進(jìn)行封裝和設(shè)計(jì),方便用戶(hù)使用。鑒于篇幅,下面以顯示圖像函數(shù)LCD_ShowImage為例進(jìn)行說(shuō)明。顯示圖像通常需要知道顯示位置、圖像尺寸和圖像的點(diǎn)陣信息,因此LCD_ShowImage函數(shù)可設(shè)計(jì)如下:

    void LCD_ShowImage (uint_16 x,uint_16 y,uint_16 width,uint_16 height,uint_8 *image);

    其中,x、y是圖片顯示的起始坐標(biāo),width 和height分別為圖像的寬度和高度,image則為存儲(chǔ)圖像的點(diǎn)陣信息數(shù)組首地址。函數(shù)內(nèi)部也是通過(guò)調(diào)用通信函數(shù)來(lái)實(shí)現(xiàn)圖像的顯示,用戶(hù)無(wú)需知道細(xì)節(jié),只需知道參數(shù)意義即可進(jìn)行調(diào)用。

    在LCD驅(qū)動(dòng)構(gòu)件函數(shù)層次中,中上層功能函數(shù)在移植時(shí)基本無(wú)需改動(dòng),可看作驅(qū)動(dòng)構(gòu)件的通用層。移植的關(guān)鍵在于MCU頭文件和構(gòu)件的底層通信函數(shù),因此這部分可看作是LCD構(gòu)件的適配層。LCD構(gòu)件驅(qū)動(dòng)程序?qū)哟渭昂瘮?shù)關(guān)系如圖4所示。

    圖4 LCD構(gòu)件驅(qū)動(dòng)程序?qū)哟文P?/p>

    4.5 LCD構(gòu)件可移植性度量分析

    一個(gè)構(gòu)件的可移植性高低可以采用軟件可移植性度量進(jìn)行分析。下面分別利用基于移植成本和移植工作量?jī)煞N可移植性度量模式[13]對(duì)LCD構(gòu)件進(jìn)行可移植度量分析。

    (1)基于移植成本度量

    該度量模式基于軟件的可移植性和開(kāi)發(fā)成本之間的關(guān)系來(lái)衡量可移植性程度,可使用下式:

    其中,DP表示可移植性大小,COSTport表示軟件的移植成本,COSTredevelop表示軟件重新開(kāi)發(fā)的成本,DP越大表示軟件的可移植性越高。從復(fù)用和移植步驟可以看出,在新系統(tǒng)移植時(shí),LCD構(gòu)件只需修改適配層的引腳定義和通信函數(shù),其他功能則基本不需改動(dòng),反映到成本上,COSTport遠(yuǎn)遠(yuǎn)小于COSTredevelop。因此,LCD構(gòu)件從成本角度看可移植性較高。

    (2)基于移植工作量度量

    該度量模式通過(guò)與移植環(huán)境相關(guān)的靜態(tài)指標(biāo)(如代碼修改量、移植耗時(shí)等)來(lái)衡量可移植性高低。如上文所述,LCD構(gòu)件嚴(yán)格按照構(gòu)件概念模型設(shè)計(jì),代碼具有模塊化、層次化的特征。移植新系統(tǒng)時(shí),需要修改的僅僅是頭文件的引腳定義和源文件中通信函數(shù)的重寫(xiě),除特殊情況外,其他部分基本不需改動(dòng),而且LCD構(gòu)件有規(guī)范的注釋和移植說(shuō)明、注意事項(xiàng)等文檔作為移植參考。經(jīng)實(shí)驗(yàn)室測(cè)試,在新購(gòu)的TFTLCD構(gòu)件代碼零亂、沒(méi)有相關(guān)參考文檔的情況下,移植成功花費(fèi)了大約兩天時(shí)間,而經(jīng)過(guò)本文封裝形成規(guī)范的TFTLCD構(gòu)件,交付給另一個(gè)沒(méi)有參與設(shè)計(jì)且技術(shù)水平相當(dāng)?shù)娜藛T,在基于不同型號(hào)的核心構(gòu)件系統(tǒng)中進(jìn)行移植花費(fèi)時(shí)間僅約3小時(shí),大大提高了效率,且運(yùn)行更加穩(wěn)定可靠。測(cè)試說(shuō)明按照本文提出規(guī)范設(shè)計(jì)面向應(yīng)用對(duì)象的終端構(gòu)件具有良好的可復(fù)用可移植性。

    結(jié) 語(yǔ)

    猜你喜歡
    原理圖嵌入式構(gòu)件
    淺談STM32核心板原理圖設(shè)計(jì)
    電路原理圖自動(dòng)布圖系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
    基于Protel DXP 2004層次原理圖的設(shè)計(jì)
    搭建基于Qt的嵌入式開(kāi)發(fā)平臺(tái)
    嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
    建筑構(gòu)件
    建筑構(gòu)件
    建筑構(gòu)件
    建筑構(gòu)件
    Altera加入嵌入式視覺(jué)聯(lián)盟
    国产私拍福利视频在线观看| 一本精品99久久精品77| 麻豆一二三区av精品| 一个人看的www免费观看视频| 久久久久久九九精品二区国产| 亚洲av.av天堂| 欧美性感艳星| 亚洲成a人片在线一区二区| 国产高清三级在线| 一区二区三区激情视频| 国产伦精品一区二区三区视频9| 欧美日韩乱码在线| 一级黄片播放器| 国产色爽女视频免费观看| 色综合色国产| 国产亚洲精品久久久com| 国产久久久一区二区三区| 日韩,欧美,国产一区二区三区 | 中文字幕免费在线视频6| 18+在线观看网站| 少妇的逼水好多| 亚洲av一区综合| 我要看日韩黄色一级片| 深爱激情五月婷婷| 最近最新免费中文字幕在线| 午夜爱爱视频在线播放| 国产亚洲av嫩草精品影院| 午夜爱爱视频在线播放| 99热这里只有精品一区| 国产高清三级在线| 波多野结衣巨乳人妻| 欧美日韩国产亚洲二区| 亚洲av成人精品一区久久| 国产aⅴ精品一区二区三区波| 看黄色毛片网站| 久久久久久九九精品二区国产| 十八禁网站免费在线| 99久久精品国产国产毛片| 亚洲图色成人| 成人特级黄色片久久久久久久| 九九久久精品国产亚洲av麻豆| 少妇猛男粗大的猛烈进出视频 | 午夜福利高清视频| 在线观看av片永久免费下载| 99热只有精品国产| 午夜免费激情av| 精品久久久久久成人av| 成人特级黄色片久久久久久久| 色吧在线观看| 在线免费十八禁| 联通29元200g的流量卡| 此物有八面人人有两片| 亚洲av日韩精品久久久久久密| 国产淫片久久久久久久久| 午夜精品一区二区三区免费看| 成年女人看的毛片在线观看| 久久中文看片网| 最后的刺客免费高清国语| 久久精品国产鲁丝片午夜精品 | 成人性生交大片免费视频hd| 日日夜夜操网爽| 熟女电影av网| 久久久久久久午夜电影| 美女高潮的动态| 国产探花极品一区二区| 亚洲美女黄片视频| 色播亚洲综合网| 欧美高清性xxxxhd video| 亚洲国产精品合色在线| 久久久久久伊人网av| 最后的刺客免费高清国语| 国产大屁股一区二区在线视频| 99视频精品全部免费 在线| 99久久中文字幕三级久久日本| 99riav亚洲国产免费| 级片在线观看| 久久久久久九九精品二区国产| 国产免费av片在线观看野外av| 亚洲欧美日韩高清在线视频| 真实男女啪啪啪动态图| 中文资源天堂在线| 国产精品福利在线免费观看| 国产精品久久久久久av不卡| 久久久精品大字幕| 99国产极品粉嫩在线观看| 嫩草影院精品99| 美女高潮的动态| 两性午夜刺激爽爽歪歪视频在线观看| 午夜a级毛片| videossex国产| 老女人水多毛片| 成年女人看的毛片在线观看| 欧美性猛交╳xxx乱大交人| 成年免费大片在线观看| 久久精品国产亚洲av涩爱 | 欧美+亚洲+日韩+国产| 久久久久久大精品| 欧美极品一区二区三区四区| 亚洲电影在线观看av| 久久精品影院6| 可以在线观看的亚洲视频| 国产欧美日韩精品一区二区| 一级a爱片免费观看的视频| 欧美成人性av电影在线观看| 国产在视频线在精品| 成年女人看的毛片在线观看| 俄罗斯特黄特色一大片| 欧美国产日韩亚洲一区| ponron亚洲| 综合色av麻豆| 亚洲一区高清亚洲精品| 免费看光身美女| 一区福利在线观看| 成人无遮挡网站| 久久久精品大字幕| 男女啪啪激烈高潮av片| 国产一区二区三区在线臀色熟女| 啦啦啦啦在线视频资源| 色综合色国产| 亚洲av.av天堂| 1024手机看黄色片| 国产伦精品一区二区三区四那| 婷婷精品国产亚洲av在线| 在线观看美女被高潮喷水网站| 又爽又黄无遮挡网站| 欧美激情久久久久久爽电影| 九九久久精品国产亚洲av麻豆| 高清毛片免费观看视频网站| 亚洲在线观看片| 又粗又爽又猛毛片免费看| 国内毛片毛片毛片毛片毛片| 欧美极品一区二区三区四区| 亚洲人成网站在线播放欧美日韩| 亚洲av成人av| 韩国av在线不卡| 黄色配什么色好看| 91麻豆精品激情在线观看国产| 久久久色成人| 欧美高清成人免费视频www| 国产一区二区三区av在线 | 狠狠狠狠99中文字幕| 国产久久久一区二区三区| 免费观看在线日韩| 亚洲熟妇熟女久久| 欧美色欧美亚洲另类二区| 人妻制服诱惑在线中文字幕| 免费av毛片视频| 麻豆成人午夜福利视频| 在线观看舔阴道视频| avwww免费| 一本久久中文字幕| 国产av麻豆久久久久久久| 村上凉子中文字幕在线| 69av精品久久久久久| 最近最新中文字幕大全电影3| 一进一出抽搐gif免费好疼| 极品教师在线免费播放| 精品日产1卡2卡| 亚洲中文字幕日韩| 国国产精品蜜臀av免费| 男人狂女人下面高潮的视频| 亚洲经典国产精华液单| 深夜精品福利| 一级黄片播放器| 亚洲av五月六月丁香网| 97超视频在线观看视频| 国产精品美女特级片免费视频播放器| 国产午夜精品论理片| 热99在线观看视频| 真人一进一出gif抽搐免费| 国产亚洲精品av在线| 日韩精品有码人妻一区| 亚洲四区av| 日韩在线高清观看一区二区三区 | 久久精品国产亚洲网站| 国产精品国产高清国产av| 久久久久久久久久黄片| 成人性生交大片免费视频hd| 午夜免费男女啪啪视频观看 | 亚洲专区中文字幕在线| 亚洲国产欧洲综合997久久,| 久久久久九九精品影院| 亚洲欧美精品综合久久99| 91在线观看av| 久久久午夜欧美精品| 五月玫瑰六月丁香| 久久国内精品自在自线图片| 级片在线观看| 久久欧美精品欧美久久欧美| 国产欧美日韩精品亚洲av| 欧美成人a在线观看| 在线免费观看不下载黄p国产 | 欧美最新免费一区二区三区| 日本五十路高清| 久久精品夜夜夜夜夜久久蜜豆| 国产黄a三级三级三级人| 欧美zozozo另类| 国产美女午夜福利| 国内久久婷婷六月综合欲色啪| 中文字幕久久专区| 又黄又爽又免费观看的视频| 身体一侧抽搐| 97超视频在线观看视频| videossex国产| 欧美国产日韩亚洲一区| 999久久久精品免费观看国产| 狂野欧美激情性xxxx在线观看| 亚洲国产精品久久男人天堂| 国产爱豆传媒在线观看| 国产伦人伦偷精品视频| 国产精品爽爽va在线观看网站| 免费观看人在逋| 51国产日韩欧美| 免费人成在线观看视频色| 成人国产综合亚洲| 人人妻,人人澡人人爽秒播| 国产国拍精品亚洲av在线观看| a在线观看视频网站| 午夜激情福利司机影院| 亚洲欧美日韩高清在线视频| 熟女电影av网| 日韩精品有码人妻一区| 我要看日韩黄色一级片| av女优亚洲男人天堂| 人妻丰满熟妇av一区二区三区| 一级黄色大片毛片| 国产91精品成人一区二区三区| 韩国av在线不卡| 国产精品久久久久久久电影| 国产精品自产拍在线观看55亚洲| 国产aⅴ精品一区二区三区波| 国产精品福利在线免费观看| a在线观看视频网站| 国产午夜精品论理片| 亚洲18禁久久av| 亚洲av不卡在线观看| 成人毛片a级毛片在线播放| 少妇猛男粗大的猛烈进出视频 | 国产精品一区二区免费欧美| 国产男靠女视频免费网站| 久久久久九九精品影院| 内射极品少妇av片p| 欧美精品国产亚洲| 午夜福利成人在线免费观看| 嫩草影视91久久| 国产成人影院久久av| 老司机深夜福利视频在线观看| 99在线人妻在线中文字幕| 中文字幕免费在线视频6| 嫩草影视91久久| 亚洲欧美清纯卡通| 欧美精品啪啪一区二区三区| 亚洲精品粉嫩美女一区| 高清在线国产一区| 国产三级在线视频| 精品欧美国产一区二区三| 婷婷亚洲欧美| 淫秽高清视频在线观看| 亚洲天堂国产精品一区在线| 一级a爱片免费观看的视频| 亚洲成人久久爱视频| 亚洲人成网站在线播放欧美日韩| 男女之事视频高清在线观看| 日日摸夜夜添夜夜添小说| www.色视频.com| 成人鲁丝片一二三区免费| 欧美日韩黄片免| 久久6这里有精品| 免费在线观看日本一区| 精品国产三级普通话版| 桃色一区二区三区在线观看| 日本黄大片高清| 欧美成人性av电影在线观看| 看片在线看免费视频| 日韩欧美一区二区三区在线观看| 又爽又黄无遮挡网站| 日韩人妻高清精品专区| 桃红色精品国产亚洲av| 色综合色国产| 国产av不卡久久| 精品人妻一区二区三区麻豆 | 热99在线观看视频| 欧美丝袜亚洲另类 | 性欧美人与动物交配| 国产亚洲精品久久久久久毛片| 狂野欧美激情性xxxx在线观看| 成人美女网站在线观看视频| 最新中文字幕久久久久| 亚洲欧美激情综合另类| 国产免费一级a男人的天堂| 精品久久久久久久末码| 欧美+日韩+精品| 欧美一区二区国产精品久久精品| 乱码一卡2卡4卡精品| avwww免费| 欧美中文日本在线观看视频| .国产精品久久| 精品午夜福利在线看| 99热这里只有精品一区| 三级国产精品欧美在线观看| 亚洲国产欧美人成| 99热这里只有是精品50| 黄色女人牲交| 亚洲欧美精品综合久久99| 日本五十路高清| 一进一出抽搐动态| 亚洲第一区二区三区不卡| 嫩草影院入口| 久久久久国产精品人妻aⅴ院| 久久久精品欧美日韩精品| 啦啦啦韩国在线观看视频| 免费av毛片视频| 99热这里只有精品一区| 村上凉子中文字幕在线| 精品无人区乱码1区二区| av在线蜜桃| 久久久久九九精品影院| 精品福利观看| 亚洲av第一区精品v没综合| 午夜日韩欧美国产| 亚洲熟妇中文字幕五十中出| 最近最新中文字幕大全电影3| 久久精品久久久久久噜噜老黄 | 高清日韩中文字幕在线| 女人被狂操c到高潮| 两个人的视频大全免费| 成年人黄色毛片网站| 黄色配什么色好看| 嫩草影院新地址| 国产伦一二天堂av在线观看| 色综合站精品国产| 大又大粗又爽又黄少妇毛片口| 91麻豆精品激情在线观看国产| 亚洲不卡免费看| 黄片wwwwww| 久久草成人影院| 亚洲精品在线观看二区| 麻豆成人午夜福利视频| 一区二区三区激情视频| 久久天躁狠狠躁夜夜2o2o| 国内精品一区二区在线观看| 欧美一区二区亚洲| 国产精品不卡视频一区二区| 久久久久久久午夜电影| 亚洲在线观看片| 亚洲精品色激情综合| 国产在视频线在精品| 精品一区二区免费观看| 色尼玛亚洲综合影院| 亚洲成人精品中文字幕电影| 日韩 亚洲 欧美在线| 亚洲电影在线观看av| 男人的好看免费观看在线视频| 在线a可以看的网站| 国产精品久久视频播放| 国产精品1区2区在线观看.| 91在线精品国自产拍蜜月| 国产精品亚洲美女久久久| 中文字幕熟女人妻在线| 大又大粗又爽又黄少妇毛片口| 亚洲熟妇中文字幕五十中出| 国内精品久久久久精免费| 美女高潮喷水抽搐中文字幕| 老女人水多毛片| 日韩欧美三级三区| 亚洲天堂国产精品一区在线| 国产精品,欧美在线| 乱码一卡2卡4卡精品| 国产私拍福利视频在线观看| 乱码一卡2卡4卡精品| 我的女老师完整版在线观看| 国产综合懂色| 久久99热这里只有精品18| 一进一出抽搐动态| 天堂av国产一区二区熟女人妻| 国内揄拍国产精品人妻在线| 久久九九热精品免费| 亚洲成av人片在线播放无| 99热网站在线观看| 日本撒尿小便嘘嘘汇集6| 欧美又色又爽又黄视频| 在线免费观看不下载黄p国产 | 成人二区视频| 无遮挡黄片免费观看| 亚洲精品456在线播放app | 国产大屁股一区二区在线视频| 国产精品一及| 乱码一卡2卡4卡精品| 99热只有精品国产| 国产色婷婷99| 国产一区二区在线av高清观看| 国产伦精品一区二区三区四那| 欧美日韩中文字幕国产精品一区二区三区| 久久久久久久久中文| 极品教师在线免费播放| 欧美日本视频| 日本爱情动作片www.在线观看 | 欧美bdsm另类| 欧美国产日韩亚洲一区| 色吧在线观看| 色综合婷婷激情| 国产精品一区二区三区四区久久| 久久久精品大字幕| 床上黄色一级片| 精品久久久久久久人妻蜜臀av| 日韩强制内射视频| 欧美+日韩+精品| 亚洲av熟女| 婷婷精品国产亚洲av| 国产成人影院久久av| 永久网站在线| 日韩 亚洲 欧美在线| 99国产极品粉嫩在线观看| 干丝袜人妻中文字幕| 美女大奶头视频| 亚洲男人的天堂狠狠| www.色视频.com| 国产在线精品亚洲第一网站| 99在线人妻在线中文字幕| 亚洲中文日韩欧美视频| 我要搜黄色片| 看十八女毛片水多多多| 久久久久九九精品影院| 两个人的视频大全免费| 韩国av在线不卡| 91av网一区二区| 欧美极品一区二区三区四区| 久久久久久伊人网av| 欧美一级a爱片免费观看看| 97超视频在线观看视频| 国产av麻豆久久久久久久| 久久久精品欧美日韩精品| 搞女人的毛片| 欧美成人a在线观看| 日本黄色视频三级网站网址| 男人的好看免费观看在线视频| 成人av一区二区三区在线看| АⅤ资源中文在线天堂| 久久久色成人| 国内精品美女久久久久久| 国产真实乱freesex| 国产精品久久久久久亚洲av鲁大| 成年女人毛片免费观看观看9| 精品国产三级普通话版| 又黄又爽又刺激的免费视频.| 国产黄a三级三级三级人| 亚洲国产日韩欧美精品在线观看| 一夜夜www| 精品福利观看| 日本欧美国产在线视频| 91午夜精品亚洲一区二区三区 | 国产真实伦视频高清在线观看 | 99在线人妻在线中文字幕| 免费av观看视频| 亚洲av熟女| 国产亚洲精品久久久久久毛片| 午夜精品久久久久久毛片777| 日本五十路高清| 一边摸一边抽搐一进一小说| 九九在线视频观看精品| 国产美女午夜福利| 精品久久久久久久久亚洲 | 91久久精品国产一区二区三区| 色5月婷婷丁香| 久久久久久久精品吃奶| 身体一侧抽搐| 女人被狂操c到高潮| 国产免费av片在线观看野外av| 国内精品久久久久精免费| 嫩草影院精品99| 色综合色国产| 99在线视频只有这里精品首页| av中文乱码字幕在线| 极品教师在线视频| 丰满人妻一区二区三区视频av| 看片在线看免费视频| 国产黄色小视频在线观看| 小说图片视频综合网站| 国产美女午夜福利| 一a级毛片在线观看| 国产又黄又爽又无遮挡在线| 男女边吃奶边做爰视频| 亚洲国产精品合色在线| 日韩亚洲欧美综合| 精品人妻视频免费看| 日韩欧美国产在线观看| 亚洲精品国产成人久久av| 日韩精品中文字幕看吧| 国产精品嫩草影院av在线观看 | 在线免费十八禁| 国产精品无大码| 午夜久久久久精精品| 琪琪午夜伦伦电影理论片6080| 国产精品乱码一区二三区的特点| 嫁个100分男人电影在线观看| 中文字幕av成人在线电影| 精品午夜福利视频在线观看一区| 国产私拍福利视频在线观看| 亚洲中文日韩欧美视频| 嫩草影院入口| 成人国产一区最新在线观看| 国产单亲对白刺激| 免费不卡的大黄色大毛片视频在线观看 | 久久精品国产99精品国产亚洲性色| 国产高清激情床上av| 免费观看精品视频网站| 露出奶头的视频| netflix在线观看网站| 丰满人妻一区二区三区视频av| 亚洲七黄色美女视频| 精品久久久久久久人妻蜜臀av| 99在线人妻在线中文字幕| 中文字幕av在线有码专区| 欧美日韩乱码在线| 亚洲经典国产精华液单| 俺也久久电影网| 日本黄大片高清| 一进一出抽搐动态| 最好的美女福利视频网| 成人二区视频| 日韩精品有码人妻一区| 国产久久久一区二区三区| 免费av毛片视频| 国产在线精品亚洲第一网站| 亚洲熟妇中文字幕五十中出| 国内精品久久久久精免费| 少妇高潮的动态图| 一级毛片久久久久久久久女| 欧美+日韩+精品| 国产高清有码在线观看视频| 成年版毛片免费区| 亚洲精品久久国产高清桃花| 久久香蕉精品热| 久久国内精品自在自线图片| 悠悠久久av| 国产成人av教育| av中文乱码字幕在线| 男人狂女人下面高潮的视频| 3wmmmm亚洲av在线观看| 一卡2卡三卡四卡精品乱码亚洲| 成人国产麻豆网| 级片在线观看| 亚洲国产欧洲综合997久久,| 美女被艹到高潮喷水动态| 淫秽高清视频在线观看| 国产精品亚洲美女久久久| 一区二区三区四区激情视频 | 在现免费观看毛片| 日韩欧美 国产精品| 精品无人区乱码1区二区| 村上凉子中文字幕在线| 精品日产1卡2卡| 精品一区二区免费观看| 亚洲人成网站高清观看| 国产精品三级大全| 亚洲无线观看免费| 欧美激情在线99| 在线天堂最新版资源| 在线免费十八禁| 亚洲真实伦在线观看| 男人狂女人下面高潮的视频| 午夜福利欧美成人| 天堂影院成人在线观看| 亚洲精品色激情综合| 成人一区二区视频在线观看| 国国产精品蜜臀av免费| 色5月婷婷丁香| 啪啪无遮挡十八禁网站| av天堂中文字幕网| 一本一本综合久久| 日韩一本色道免费dvd| 亚洲欧美激情综合另类| 欧美日韩精品成人综合77777| 久久久久久久久久久丰满 | 在现免费观看毛片| 亚洲精品亚洲一区二区| 国产69精品久久久久777片| 男人舔女人下体高潮全视频| 最近最新中文字幕大全电影3| 有码 亚洲区| 国产伦一二天堂av在线观看| 91久久精品国产一区二区成人| 国产老妇女一区| 精品人妻熟女av久视频| 日韩欧美精品v在线| 色尼玛亚洲综合影院| 国产亚洲91精品色在线| 在线播放无遮挡| 99久久无色码亚洲精品果冻| 中文亚洲av片在线观看爽| bbb黄色大片| 国产91精品成人一区二区三区| 老司机深夜福利视频在线观看| 精品人妻熟女av久视频| 我的女老师完整版在线观看| 天天一区二区日本电影三级| 51国产日韩欧美| 99热只有精品国产| 国产精品一区二区三区四区免费观看 | 啦啦啦啦在线视频资源| 少妇的逼好多水| 国产老妇女一区| 91麻豆av在线| 亚洲无线在线观看| 国产午夜福利久久久久久| 免费黄网站久久成人精品| 国产精品精品国产色婷婷| 999久久久精品免费观看国产| 内地一区二区视频在线| 国产精品精品国产色婷婷| 两个人的视频大全免费| 又爽又黄a免费视频| 91在线精品国自产拍蜜月| 波多野结衣高清无吗| 男女那种视频在线观看|