日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

STM32正点原子图片——显示实验

發(fā)布時間:2023/12/31 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 STM32正点原子图片——显示实验 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

目錄

一、圖片顯示部分

GIF

piclib.c介紹

圖像顯示實驗main.c介紹

二、SD卡模塊?

1、SD卡基礎(chǔ)知識

2、SD卡讀操作?

3、SD卡寫操作?


一、圖片顯示部分

GIF

  • GIF(Graphics Interchange Format)的原義是“圖像互換格式”,是CompuServe公司在1987年開發(fā)的圖像文件格式。GIF文件的數(shù)據(jù)。是一種基于LZW算法的連續(xù)色調(diào)的無損壓縮格式。其壓縮率一般在50%左右,它不屬于任何應(yīng)用程序。
  • GIF主要分為兩個版本,即GIF 89a和GIF 87a

????????????????GIF 87a:是在1987年制定的版本GIF

? ? ? ? ? ? ? ? GIF 89a:是1989年制定的版本。

本質(zhì)上是動態(tài)地顯示多個連續(xù)的圖片

piclib.c介紹

piclib.c中定義了LCD液晶顯示需要使用的函數(shù)

#include "piclib.h" #include "lcd.h" // //本程序只供學(xué)習(xí)使用,未經(jīng)作者許可,不得用于其它任何用途 //ALIENTEK MiniSTM32開發(fā)板 //圖片解碼 驅(qū)動代碼 //正點原子@ALIENTEK //技術(shù)論壇:www.openedv.com //修改日期:2014/3/14 //版本:V2.0 //版權(quán)所有,盜版必究。 //Copyright(C) 廣州市星翼電子科技有限公司 2009-2019 //All rights reserved //******************************************************************************** //升級說明 //V2.0 //1,將jpeg解碼庫換成了TJPGD,支持更多的jpg/jpeg文件,支持小尺寸圖片快速jpeg顯示 //2,pic_phy里面新增fillcolor函數(shù),用于填充顯示,以提高小尺寸jpg圖片的顯示速度 //3,ai_load_picfile函數(shù),新增一個參數(shù):fast,用于設(shè)置是否使能jpeg/jpg快速顯示 //注意:這里的小尺寸是指:jpg/jpeg圖片尺寸小于等于LCD尺寸. //_pic_info picinfo; //圖片信息 _pic_phy pic_phy; //圖片顯示物理接口 // //lcd.h沒有提供劃橫線函數(shù),需要自己實現(xiàn) void piclib_draw_hline(u16 x0,u16 y0,u16 len,u16 color) {if((len==0)||(x0>lcddev.width)||(y0>lcddev.height))return;LCD_Fill(x0,y0,x0+len-1,y0,color); } //填充顏色 //x,y:起始坐標 //width,height:寬度和高度。 //*color:顏色數(shù)組 void piclib_fill_color(u16 x,u16 y,u16 width,u16 height,u16 *color) { LCD_Color_Fill(x,y,x+width-1,y+height-1,color); } // //畫圖初始化,在畫圖之前,必須先調(diào)用此函數(shù) //指定畫點/讀點 void piclib_init(void) {pic_phy.read_point=LCD_ReadPoint; //讀點函數(shù)實現(xiàn)pic_phy.draw_point=LCD_Fast_DrawPoint; //畫點函數(shù)實現(xiàn)pic_phy.fill=LCD_Fill; //填充函數(shù)實現(xiàn)pic_phy.draw_hline=piclib_draw_hline; //畫線函數(shù)實現(xiàn)pic_phy.fillcolor=piclib_fill_color; //顏色填充函數(shù)實現(xiàn) picinfo.lcdwidth=lcddev.width; //得到LCD的寬度像素picinfo.lcdheight=lcddev.height;//得到LCD的高度像素picinfo.ImgWidth=0; //初始化寬度為0picinfo.ImgHeight=0;//初始化高度為0picinfo.Div_Fac=0; //初始化縮放系數(shù)為0picinfo.S_Height=0; //初始化設(shè)定的高度為0picinfo.S_Width=0; //初始化設(shè)定的寬度為0picinfo.S_XOFF=0; //初始化x軸的偏移量為0picinfo.S_YOFF=0; //初始化y軸的偏移量為0picinfo.staticx=0; //初始化當(dāng)前顯示到的x坐標為0picinfo.staticy=0; //初始化當(dāng)前顯示到的y坐標為0 } //快速ALPHA BLENDING算法. //src:源顏色 //dst:目標顏色 //alpha:透明程度(0~32) //返回值:混合后的顏色. u16 piclib_alpha_blend(u16 src,u16 dst,u8 alpha) {u32 src2;u32 dst2; //Convert to 32bit |-----GGGGGG-----RRRRR------BBBBB|src2=((src<<16)|src)&0x07E0F81F;dst2=((dst<<16)|dst)&0x07E0F81F; //Perform blending R:G:B with alpha in range 0..32//Note that the reason that alpha may not exceed 32 is that there are only//5bits of space between each R:G:B value, any higher value will overflow//into the next component and deliver ugly result.dst2=((((dst2-src2)*alpha)>>5)+src2)&0x07E0F81F;return (dst2>>16)|dst2; } //初始化智能畫點 //內(nèi)部調(diào)用 void ai_draw_init(void) {float temp,temp1; temp=(float)picinfo.S_Width/picinfo.ImgWidth;temp1=(float)picinfo.S_Height/picinfo.ImgHeight; if(temp<temp1)temp1=temp;//取較小的那個 if(temp1>1)temp1=1; //使圖片處于所給區(qū)域的中間picinfo.S_XOFF+=(picinfo.S_Width-temp1*picinfo.ImgWidth)/2;picinfo.S_YOFF+=(picinfo.S_Height-temp1*picinfo.ImgHeight)/2;temp1*=8192;//擴大8192倍 picinfo.Div_Fac=temp1;picinfo.staticx=0xffff;picinfo.staticy=0xffff;//放到一個不可能的值上面 } //判斷這個像素是否可以顯示 //(x,y) :像素原始坐標 //chg :功能變量. //返回值:0,不需要顯示.1,需要顯示 u8 is_element_ok(u16 x,u16 y,u8 chg) { if(x!=picinfo.staticx||y!=picinfo.staticy){if(chg==1){picinfo.staticx=x;picinfo.staticy=y;} return 1;}else return 0; } //智能畫圖 //FileName:要顯示的圖片文件 BMP/JPG/JPEG/GIF //x,y,width,height:坐標及顯示區(qū)域尺寸 //fast:使能jpeg/jpg小圖片(圖片尺寸小于等于液晶分辨率)快速解碼,0,不使能;1,使能. //圖片在開始和結(jié)束的坐標點范圍內(nèi)顯示 u8 ai_load_picfile(const u8 *filename,u16 x,u16 y,u16 width,u16 height,u8 fast) { u8 res;//返回值u8 temp; if((x+width)>picinfo.lcdwidth)return PIC_WINDOW_ERR; //x坐標超范圍了.if((y+height)>picinfo.lcdheight)return PIC_WINDOW_ERR; //y坐標超范圍了. //得到顯示方框大小 if(width==0||height==0)return PIC_WINDOW_ERR; //窗口設(shè)定錯誤picinfo.S_Height=height;picinfo.S_Width=width;//顯示區(qū)域無效if(picinfo.S_Height==0||picinfo.S_Width==0){picinfo.S_Height=lcddev.height;picinfo.S_Width=lcddev.width;return FALSE; }if(pic_phy.fillcolor==NULL)fast=0;//顏色填充函數(shù)未實現(xiàn),不能快速顯示//顯示的開始坐標點picinfo.S_YOFF=y;picinfo.S_XOFF=x;//文件名傳遞 temp=f_typetell((u8*)filename); //得到文件的類型switch(temp){ case T_BMP:res=stdbmp_decode(filename); //解碼bmp break;case T_JPG:case T_JPEG:res=jpg_decode(filename,fast); //解碼JPG/JPEG break;case T_GIF:res=gif_decode(filename,x,y,width,height); //解碼gif break;default:res=PIC_FORMAT_ERR; //非圖片格式!!! break;} return res; }

_pic_phy是函數(shù)指針結(jié)構(gòu)體?

typedef struct {u16(*read_point)(u16,u16); //u16 read_point(u16 x,u16 y) 讀點函數(shù)void(*draw_point)(u16,u16,u16); //void draw_point(u16 x,u16 y,u16 color) 畫點函數(shù)void(*fill)(u16,u16,u16,u16,u16); ///void fill(u16 sx,u16 sy,u16 ex,u16 ey,u16 color) 單色填充函數(shù) void(*draw_hline)(u16,u16,u16,u16); //void draw_hline(u16 x0,u16 y0,u16 len,u16 color) 畫水平線函數(shù) void(*fillcolor)(u16,u16,u16,u16,u16*); //void piclib_fill_color(u16 x,u16 y,u16 width,u16 height,u16 *color) 顏色填充 }_pic_phy;

ALPHA BLENDING算法是圖像透明度處理算法?

//快速ALPHA BLENDING算法. //src:源顏色 //dst:目標顏色 //alpha:透明程度(0~32) //返回值:混合后的顏色. u16 piclib_alpha_blend(u16 src,u16 dst,u8 alpha) {u32 src2;u32 dst2; //Convert to 32bit |-----GGGGGG-----RRRRR------BBBBB|src2=((src<<16)|src)&0x07E0F81F;dst2=((dst<<16)|dst)&0x07E0F81F; //Perform blending R:G:B with alpha in range 0..32//Note that the reason that alpha may not exceed 32 is that there are only//5bits of space between each R:G:B value, any higher value will overflow//into the next component and deliver ugly result.dst2=((((dst2-src2)*alpha)>>5)+src2)&0x07E0F81F;return (dst2>>16)|dst2; }

is_element_ok主要用于圖像壓縮顯示部分?

//判斷這個像素是否可以顯示 //(x,y) :像素原始坐標 //chg :功能變量. //返回值:0,不需要顯示.1,需要顯示 u8 is_element_ok(u16 x,u16 y,u8 chg) { if(x!=picinfo.staticx||y!=picinfo.staticy){if(chg==1){picinfo.staticx=x;picinfo.staticy=y;} return 1;}else return 0; }

?智能畫圖函數(shù)ai_load_picfile,自動判斷文件類型并將文件顯示在你所指定的位置上

//智能畫圖 //FileName:要顯示的圖片文件 BMP/JPG/JPEG/GIF //x,y,width,height:坐標及顯示區(qū)域尺寸 //fast:使能jpeg/jpg小圖片(圖片尺寸小于等于液晶分辨率)快速解碼,0,不使能;1,使能. //圖片在開始和結(jié)束的坐標點范圍內(nèi)顯示 u8 ai_load_picfile(const u8 *filename,u16 x,u16 y,u16 width,u16 height,u8 fast) { u8 res;//返回值u8 temp; if((x+width)>picinfo.lcdwidth)return PIC_WINDOW_ERR; //x坐標超范圍了.if((y+height)>picinfo.lcdheight)return PIC_WINDOW_ERR; //y坐標超范圍了. //得到顯示方框大小 if(width==0||height==0)return PIC_WINDOW_ERR; //窗口設(shè)定錯誤picinfo.S_Height=height;picinfo.S_Width=width;//顯示區(qū)域無效if(picinfo.S_Height==0||picinfo.S_Width==0){picinfo.S_Height=lcddev.height;picinfo.S_Width=lcddev.width;return FALSE; }if(pic_phy.fillcolor==NULL)fast=0;//顏色填充函數(shù)未實現(xiàn),不能快速顯示//顯示的開始坐標點picinfo.S_YOFF=y;picinfo.S_XOFF=x;//文件名傳遞 temp=f_typetell((u8*)filename); //得到文件的類型switch(temp){ case T_BMP:res=stdbmp_decode(filename); //解碼bmp break;case T_JPG:case T_JPEG:res=jpg_decode(filename,fast); //解碼JPG/JPEG break;case T_GIF:res=gif_decode(filename,x,y,width,height); //解碼gif break;default:res=PIC_FORMAT_ERR; //非圖片格式!!! break;} return res; }

圖像顯示實驗main.c介紹

pic_get_tnum函數(shù)用來得到path路徑下存儲目標文件的個數(shù),關(guān)鍵是使用了f_readdir函數(shù)。此函數(shù)來自于FATFS文件操作系統(tǒng)。

//得到path路徑下,目標文件的總個數(shù) //path:路徑 //返回值:總有效文件數(shù) u16 pic_get_tnum(u8 *path) { u8 res;u16 rval=0;DIR tdir; //臨時目錄FILINFO tfileinfo; //臨時文件信息 u8 *fn; res=f_opendir(&tdir,(const TCHAR*)path); //打開目錄tfileinfo.lfsize=_MAX_LFN*2+1; //長文件名最大長度tfileinfo.lfname=mymalloc(tfileinfo.lfsize);//為長文件緩存區(qū)分配內(nèi)存if(res==FR_OK&&tfileinfo.lfname!=NULL){while(1)//查詢總的有效文件數(shù){res=f_readdir(&tdir,&tfileinfo); //讀取目錄下的一個文件if(res!=FR_OK||tfileinfo.fname[0]==0)break; //錯誤了/到末尾了,退出 fn=(u8*)(*tfileinfo.lfname?tfileinfo.lfname:tfileinfo.fname); res=f_typetell(fn); if((res&0XF0)==0X50)//取高四位,看看是不是圖片文件 {rval++;//有效文件數(shù)增加1} } } return rval; }

dir_sdi函數(shù)用來改變當(dāng)前目錄的索引,同樣也是來源于ff.c文件

while(res==FR_OK)//打開成功{ dir_sdi(&picdir,picindextbl[curindex]); //改變當(dāng)前目錄索引 res=f_readdir(&picdir,&picfileinfo); //讀取目錄下的一個文件if(res!=FR_OK||picfileinfo.fname[0]==0)break; //錯誤了/到末尾了,退出fn=(u8*)(*picfileinfo.lfname?picfileinfo.lfname:picfileinfo.fname); strcpy((char*)pname,"0:/PICTURE/"); //復(fù)制路徑(目錄)strcat((char*)pname,(const char*)fn); //將文件名接在后面LCD_Clear(BLACK);ai_load_picfile(pname,0,0,lcddev.width,lcddev.height,1);//顯示圖片 Show_Str(2,2,240,16,pname,16,1); //顯示圖片名字t=0;while(1) {key=KEY_Scan(0); //掃描按鍵if(t>250)key=1; //模擬一次按下KEY0 if((t%20)==0)LED0=!LED0;//LED0閃爍,提示程序正在運行.if(key==KEY1_PRES) //上一張{if(curindex)curindex--;else curindex=totpicnum-1;break;}else if(key==KEY0_PRES)//下一張{curindex++; if(curindex>=totpicnum)curindex=0;//到末尾的時候,自動從頭開始break;}else if(key==WKUP_PRES){pause=!pause;LED1=!pause; //暫停的時候LED1亮. }if(pause==0)t++;delay_ms(10); } res=0; }

二、SD卡模塊?

1、SD卡基礎(chǔ)知識

SD卡 (Secure Digital Memory Card)即:安全數(shù)碼卡,它是在MMC的基礎(chǔ)上發(fā)展而來,是一種基于半導(dǎo)體快閃記憶器的新一代記憶設(shè)備,它被廣泛地于便攜式裝置上使用,例如數(shù)碼相機、個人數(shù)碼助理(PDA)和多媒體播放器等。SD卡由日本松下、東芝及美國SanDisk公司于1999年8月共同開發(fā)研制。
SD卡按容量分類,可以分為3類:SD卡、SDHC卡、SDXC卡,如下表所示:

容量

命名

簡稱

0~2G

Standard Capacity SD Memory Card

SDSCSD

2G~32G

High Capacity SD Memory Card

SDHC

32G~2T

Extended Capacity SD Memory Card

SDXC

①初始化SPI接口及相關(guān)IO

??????? 通過SPI連接SD卡,所以先要初始化MCUSPI接口,以及相關(guān)IO

②上電延時(>74CLK)

③卡復(fù)位(CMD0),進入IDLE狀態(tài)。

?????? ?發(fā)送CMD0時,CS必須為低電平,使得SD卡進入SPI模式。

④發(fā)送CMD8,檢查是否支持SD2.0協(xié)議。

⑤根據(jù)不同協(xié)議檢查SD卡(相關(guān)命令:CMD55CMD41CMD58CMD1等)。

⑥取消片選,發(fā)多8CLK,結(jié)束初始化 。

下圖來自《SD卡2.0協(xié)議.pdf》這個文檔。

下圖是MiniSTM插入卡座?

?正點原子提供了SD卡驅(qū)動代碼

1.SD_Initialize函數(shù)講解 2.SD_ReadDisk函數(shù)講解 3.SD_WriteDisk函數(shù)講解 4.SD_GetSectorCount函數(shù)講解

SD_Select函數(shù)主要用來選定SD卡

//選擇sd卡,并且等待卡準備OK //返回值:0,成功;1,失敗; u8 SD_Select(void) {SD_CS=0;if(SD_WaitReady()==0)return 0;//等待成功SD_DisSelect();return 1;//等待失敗 }

SD_SendCmd命令用來向SD卡發(fā)送命令,cmd——8位,arg——32位,crc——8位。?

//向SD卡發(fā)送一個命令 //輸入: u8 cmd 命令 // u32 arg 命令參數(shù) // u8 crc crc校驗值 //返回值:SD卡返回的響應(yīng) u8 SD_SendCmd(u8 cmd, u32 arg, u8 crc) {u8 r1; u8 Retry=0; SD_DisSelect();//取消上次片選if(SD_Select())return 0XFF;//片選失效 //發(fā)送SD_SPI_ReadWriteByte(cmd | 0x40);//分別寫入命令SD_SPI_ReadWriteByte(arg >> 24);SD_SPI_ReadWriteByte(arg >> 16);SD_SPI_ReadWriteByte(arg >> 8);SD_SPI_ReadWriteByte(arg); SD_SPI_ReadWriteByte(crc); if(cmd==CMD12)SD_SPI_ReadWriteByte(0xff);//Skip a stuff byte when stop reading//等待響應(yīng),或超時退出Retry=0X1F;do{r1=SD_SPI_ReadWriteByte(0xFF);}while((r1&0X80) && Retry--); //返回狀態(tài)值return r1; }

SD卡的類型也被宏定義后放在了?MMC_SD.h頭文件下面

其中SD_TYPE_ERR?表示SD卡類型無效,值為0

// SD卡類型定義 #define SD_TYPE_ERR 0X00 #define SD_TYPE_MMC 0X01 #define SD_TYPE_V1 0X02 #define SD_TYPE_V2 0X04 #define SD_TYPE_V2HC 0X06

?SD卡初始化的時候需要低速模式,正常工作是高速模式。可以設(shè)置為4分頻。

//SD卡初始化的時候,需要低速 void SD_SPI_SpeedLow(void) {SPI1_SetSpeed(SPI_BaudRatePrescaler_256);//設(shè)置到低速模式 } //SD卡正常工作的時候,可以高速了 void SD_SPI_SpeedHigh(void) {SPI1_SetSpeed(SPI_BaudRatePrescaler_2);//設(shè)置到高速模式 }

2、SD卡讀操作?

?SD_ReadDisk用來讀取數(shù)據(jù),cnt=1表示只讀取一個扇區(qū),否則是連續(xù)讀取。

//讀SD卡 //buf:數(shù)據(jù)緩存區(qū) //sector:扇區(qū) //cnt:扇區(qū)數(shù) //返回值:0,ok;其他,失敗. u8 SD_ReadDisk(u8*buf,u32 sector,u8 cnt) {u8 r1;if(SD_Type!=SD_TYPE_V2HC)sector <<= 9;//轉(zhuǎn)換為字節(jié)地址if(cnt==1){r1=SD_SendCmd(CMD17,sector,0X01);//讀命令if(r1==0)//指令發(fā)送成功{r1=SD_RecvData(buf,512);//接收512個字節(jié) }}else{r1=SD_SendCmd(CMD18,sector,0X01);//連續(xù)讀命令do{r1=SD_RecvData(buf,512);//接收512個字節(jié) buf+=512; }while(--cnt && r1==0); SD_SendCmd(CMD12,0,0X01); //發(fā)送停止命令} SD_DisSelect();//取消片選return r1;// }

if是單塊數(shù)據(jù)塊的讀取,else是多塊的讀取。?

if(cnt==1) else{}

多塊數(shù)據(jù)讀取的最后我們要加上發(fā)送CMD12指令,結(jié)束數(shù)據(jù)塊的讀取。

SD_SendCmd(CMD12,0,0X01); //發(fā)送停止命令

SD_GetResponse? 用來等待SD卡返回想要的值,1表示返回成功,0表示失敗。

//等待SD卡回應(yīng) //Response:要得到的回應(yīng)值 //返回值:0,成功得到了該回應(yīng)值 // 其他,得到回應(yīng)值失敗 u8 SD_GetResponse(u8 Response) {u16 Count=0xFFFF;//等待次數(shù) while ((SD_SPI_ReadWriteByte(0XFF)!=Response)&&Count)Count--;//等待得到準確的回應(yīng) if (Count==0)return MSD_RESPONSE_FAILURE;//得到回應(yīng)失敗 else return MSD_RESPONSE_NO_ERROR;//正確回應(yīng) }

3、SD卡寫操作?

?SD_WriteDisk是為了寫入數(shù)據(jù),同樣也要先判斷SD_Type的類型。

//寫SD卡 //buf:數(shù)據(jù)緩存區(qū) //sector:起始扇區(qū) //cnt:扇區(qū)數(shù) //返回值:0,ok;其他,失敗. u8 SD_WriteDisk(u8*buf,u32 sector,u8 cnt) {u8 r1;if(SD_Type!=SD_TYPE_V2HC)sector *= 512;//轉(zhuǎn)換為字節(jié)地址if(cnt==1){r1=SD_SendCmd(CMD24,sector,0X01);//讀命令if(r1==0)//指令發(fā)送成功{r1=SD_SendBlock(buf,0xFE);//寫512個字節(jié) }}else{if(SD_Type!=SD_TYPE_MMC){SD_SendCmd(CMD55,0,0X01); SD_SendCmd(CMD23,cnt,0X01);//發(fā)送指令 }r1=SD_SendCmd(CMD25,sector,0X01);//連續(xù)讀命令if(r1==0){do{r1=SD_SendBlock(buf,0xFC);//接收512個字節(jié) buf+=512; }while(--cnt && r1==0);r1=SD_SendBlock(0,0xFD);//接收512個字節(jié) }} SD_DisSelect();//取消片選return r1;// }

SD_GetSectorCount可以得到SD卡的總扇區(qū)數(shù)量,對于V2.0版本以后的SD卡是固定512Byte(即一個sector)大小。

//獲取SD卡的總扇區(qū)數(shù)(扇區(qū)數(shù)) //返回值:0: 取容量出錯 // 其他:SD卡的容量(扇區(qū)數(shù)/512字節(jié)) //每扇區(qū)的字節(jié)數(shù)必為512,因為如果不是512,則初始化不能通過. u32 SD_GetSectorCount(void) {u8 csd[16];u32 Capacity; u8 n;u16 csize; //取CSD信息,如果期間出錯,返回0if(SD_GetCSD(csd)!=0) return 0; //如果為SDHC卡,按照下面方式計算if((csd[0]&0xC0)==0x40) //V2.00的卡{ csize = csd[9] + ((u16)csd[8] << 8) + 1;Capacity = (u32)csize << 10;//得到扇區(qū)數(shù) }else//V1.XX的卡{ n = (csd[5] & 15) + ((csd[10] & 128) >> 7) + ((csd[9] & 3) << 1) + 2;csize = (csd[8] >> 6) + ((u16)csd[7] << 2) + ((u16)(csd[6] & 3) << 10) + 1;Capacity= (u32)csize << (n - 9);//得到扇區(qū)數(shù) }return Capacity; }

三、實驗31 圖片顯示實驗main函數(shù)學(xué)習(xí)?

Show_Str用來顯示字符串?

//在指定位置開始顯示一個字符串 //支持自動換行 //(x,y):起始坐標 //width,height:區(qū)域 //str :字符串 //size :字體大小 //mode:0,非疊加方式;1,疊加方式 void Show_Str(u16 x,u16 y,u16 width,u16 height,u8*str,u8 size,u8 mode) { u16 x0=x;u16 y0=y; u8 bHz=0; //字符或者中文 while(*str!=0)//數(shù)據(jù)未結(jié)束{ if(!bHz){if(*str>0x80)bHz=1;//中文 else //字符{ if(x>(x0+width-size/2))//換行{ y+=size;x=x0; } if(y>(y0+height-size))break;//越界返回 if(*str==13)//換行符號{ y+=size;x=x0;str++; } else LCD_ShowChar(x,y,*str,size,mode);//有效部分寫入 str++; x+=size/2; //字符,為全字的一半 }}else//中文 { bHz=0;//有漢字庫 if(x>(x0+width-size))//換行{ y+=size;x=x0; }if(y>(y0+height-size))break;//越界返回 Show_Font(x,y,str,size,mode); //顯示這個漢字,空心顯示 str+=2; x+=size;//下一個漢字偏移 } } }

DIR是定義的結(jié)構(gòu)體?

typedef struct {FATFS* fs; /* Pointer to the owner file system object (**do not change order**) */WORD id; /* Owner file system mount ID (**do not change order**) */WORD index; /* Current read/write index number */DWORD sclust; /* Table start cluster (0:Root dir) */DWORD clust; /* Current cluster */DWORD sect; /* Current sector */BYTE* dir; /* Pointer to the current SFN entry in the win[] */BYTE* fn; /* Pointer to the SFN (in/out) {file[8],ext[3],status[1]} */ #if _FS_LOCKUINT lockid; /* File lock ID (index of file semaphore table Files[]) */ #endif #if _USE_LFNWCHAR* lfn; /* Pointer to the LFN working buffer */WORD lfn_idx; /* Last matched LFN index number (0xFFFF:No LFN) */ #endif } DIR;

?首先嘗試打開圖片文件夾的目錄

while(f_opendir(&picdir,"0:/PICTURE"))//打開圖片文件夾{ Show_Str(60,170,240,16,"PICTURE文件夾錯誤!",16,0);delay_ms(200); LCD_Fill(60,170,240,186,WHITE);//清除顯示 delay_ms(200); }

f_opendir的返回值FRESULT也是一個結(jié)構(gòu)體?

/* File function return code (FRESULT) */typedef enum {FR_OK = 0, /* (0) Succeeded */FR_DISK_ERR, /* (1) A hard error occurred in the low level disk I/O layer */FR_INT_ERR, /* (2) Assertion failed */FR_NOT_READY, /* (3) The physical drive cannot work */FR_NO_FILE, /* (4) Could not find the file */FR_NO_PATH, /* (5) Could not find the path */FR_INVALID_NAME, /* (6) The path name format is invalid */FR_DENIED, /* (7) Access denied due to prohibited access or directory full */FR_EXIST, /* (8) Access denied due to prohibited access */FR_INVALID_OBJECT, /* (9) The file/directory object is invalid */FR_WRITE_PROTECTED, /* (10) The physical drive is write protected */FR_INVALID_DRIVE, /* (11) The logical drive number is invalid */FR_NOT_ENABLED, /* (12) The volume has no work area */FR_NO_FILESYSTEM, /* (13) There is no valid FAT volume */FR_MKFS_ABORTED, /* (14) The f_mkfs() aborted due to any parameter error */FR_TIMEOUT, /* (15) Could not get a grant to access the volume within defined period */FR_LOCKED, /* (16) The operation is rejected according to the file sharing policy */FR_NOT_ENOUGH_CORE, /* (17) LFN working buffer could not be allocated */FR_TOO_MANY_OPEN_FILES, /* (18) Number of open files > _FS_SHARE */FR_INVALID_PARAMETER /* (19) Given parameter is invalid */ } FRESULT;

main函數(shù)的一開頭就定義了一個u16 *picindexbl 指針

u16 *picindextbl; //圖片索引表

如果判斷res的結(jié)果是圖片文件,就將當(dāng)前的curindex存放到picindexbl中。

res=f_typetell(fn); if((res&0XF0)==0X50)//取高四位,看看是不是圖片文件 {picindextbl[curindex]=temp;//記錄索引curindex++;}

總結(jié)

以上是生活随笔為你收集整理的STM32正点原子图片——显示实验的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

成人av免费看 | 五月综合婷 | 欧美国产高清 | 美女视频永久黄网站免费观看国产 | 91成人网在线播放 | 亚洲欧美日韩精品一区二区 | 91少妇精拍在线播放 | 久久久久久久久久久网站 | 不卡视频国产 | 久草av在线播放 | 黄色小网站在线观看 | 色婷婷狠狠五月综合天色拍 | 中文免费 | 成人小电影在线看 | 综合网欧美 | 日韩大片免费在线观看 | 日韩中文字幕一区 | 久久综合久久伊人 | 91av在线视频播放 | 久青草影院 | 黄色片网站免费 | 草久久久 | 欧美污在线观看 | 丁香网婷婷 | 免费的国产精品 | 欧美激情综合色综合啪啪五月 | 91视频高清免费 | 精品视频久久 | 欧美一二三视频 | 国产精久久久久久久 | 五月综合| 久久综合婷婷 | 草久视频在线观看 | 国产一级视频免费看 | 激情av综合 | 亚洲黄色免费在线 | 狠狠操狠狠 | 日韩高清在线看 | 成人av一二三区 | 成人毛片在线观看 | 中文字幕 在线 一 二 | 亚洲精品乱码久久久久久蜜桃动漫 | 黄色av成人在线 | 精品久久久久_ | 成人黄视频 | 国产一区二区精品91 | 国产精品久久久久久妇 | www.久久91| 蜜臀久久99精品久久久无需会员 | 国产精品久久久久影院 | 国产精品久久av | 国产国产人免费人成免费视频 | av黄网站 | 欧美 日韩精品 | 国产 成人 久久 | 91精品无人成人www | 日本精品视频在线 | 午夜av一区二区三区 | 欧美另类z0zx | 久久婷婷综合激情 | 综合网伊人 | 一本一道久久a久久精品蜜桃 | 色婷婷亚洲婷婷 | 久久黄色片子 | 久久精品一区二区三区中文字幕 | 91最新在线视频 | 成人免费视频网址 | 国产精品不卡在线观看 | 亚洲最新av在线 | 91桃花视频 | 国产一区二区午夜 | 精品国产一区二区三区四区vr | 欧美电影在线观看 | 在线免费观看黄色 | 一区二区成人国产精品 | 国产一区免费看 | 天天操夜夜爱 | 婷婷中文字幕 | 久久精品99国产国产 | 国产视频精品久久 | 国产精品美女久久久网av | 国产精品久久99综合免费观看尤物 | 国内视频1区 | 婷婷丁香色 | 丁香花中文字幕 | 96久久精品 | 久久久久久久久久久免费视频 | 国产视频1 | 亚洲爱爱视频 | 久久久国产精品一区二区中文 | 精品不卡av | 一级a毛片高清视频 | 久久国产精品一区二区三区四区 | 亚洲天堂激情 | 色爽网站| 午夜 免费 | 国产精品视频免费看 | 久99久精品 | 摸阴视频 | 午夜久久福利视频 | 九色91视频 | 2018精品视频| 日韩国产精品毛片 | 色天天| 蜜臀av免费一区二区三区 | 91看片一区二区三区 | 手机看片中文字幕 | 精品二区视频 | 国产精品福利在线 | 一级久久久| 99色免费视频 | 色综合天天在线 | 正在播放国产精品 | 视频一区视频二区在线观看 | 亚洲精品自拍视频在线观看 | 亚洲精品66 | 久久国产精品色av免费看 | 中文字幕超清在线免费 | 日本不卡123 | 欧美在线观看视频一区二区三区 | 麻豆视频在线播放 | 丝袜护士aⅴ在线白丝护士 天天综合精品 | 国产成人在线综合 | 成年人网站免费观看 | 探花视频在线观看 | 日韩欧美精品在线视频 | 一区二区三区久久精品 | 国产探花 | 国产美女精彩久久 | 久久黄色小说视频 | 久久免费试看 | 深夜免费小视频 | 亚洲午夜av | 国产精品成人一区二区 | 日本少妇久久久 | www.com.日本一级 | 天天综合网~永久入口 | 久久精品国产免费看久久精品 | 91九色在线视频观看 | 伊人资源视频在线 | 五月激情六月丁香 | 色香网 | 亚洲精品1234区 | 九九综合久久 | 国产精品av久久久久久无 | 久久少妇免费视频 | 自拍超碰在线 | 在线播放亚洲 | 精品乱码一区二区三四区 | 日本中文不卡 | 中文字幕国产精品一区二区 | 久久不射影院 | 69国产精品视频免费观看 | 97成人免费视频 | 色激情在线 | 人人爱爱| 久久国产精品成人免费浪潮 | 国产视频二区三区 | 免费看一级黄色大全 | 97国产精品亚洲精品 | 色综合综合 | 日韩欧美视频免费看 | 欧美日韩精品在线 | 国产精品一区二区久久精品爱涩 | 国内精自线一二区永久 | 日韩黄色免费在线观看 | 麻豆传媒视频在线免费观看 | 丰满少妇在线观看 | 国产精品乱码久久久久 | 黄色成人毛片 | 国产中文在线视频 | av看片在线观看 | 欧美成人xxxx | 一区二区三区四区在线 | 在线免费观看黄色av | 中文字幕国内精品 | 成人网在线免费视频 | 国产午夜精品一区二区三区 | 丁香5月婷婷 | 五月天激情综合 | 夜夜夜夜夜夜操 | 国产精美视频 | 亚洲一区二区三区四区在线视频 | 免费的国产精品 | 中文字幕免费高清av | 日韩激情在线 | 成片免费 | 久久综合激情 | 久久久影院官网 | 免费黄色激情视频 | 欧美一级在线看 | 免费情缘 | 欧美精品在线视频观看 | 深夜成人av | 免费男女网站 | 99久久综合国产精品二区 | 国产一区二区在线视频观看 | 天天在线免费视频 | 中文字幕一区二区三区乱码不卡 | 国产在线观看免费观看 | 亚洲黄色在线免费观看 | www.五月天色 | a级一a一级在线观看 | 国产精品不卡视频 | 亚洲国产一区av | 国产aa精品 | wwwww.国产 | 九九色网| 九九在线免费视频 | 五月婷婷av在线 | 在线观看黄色免费视频 | 88av视频| 日韩在线免费观看视频 | 伊人永久在线 | 久久精品国产免费看久久精品 | 日韩高清www | 97免费在线观看 | 精品毛片在线 | 奇米影视777影音先锋 | 91精品国产电影 | 亚洲一区二区三区在线看 | 中文字幕在线字幕中文 | 91在线播放综合 | av综合网址 | 日日夜夜狠狠操 | 亚洲激情av| 亚洲视屏 | 午夜视频色 | 日韩| 麻豆精品传媒视频 | 一区二区三区污 | 蜜臀aⅴ精品一区二区三区 久久视屏网 | 丁香六月婷婷激情 | 亚洲蜜桃av | 国产精品2018 | 天天插狠狠干 | 能在线观看的日韩av | 国产精品久久久久久吹潮天美传媒 | 国产成a人亚洲精v品在线观看 | 99视频精品免费视频 | 亚洲欧美日韩精品久久久 | 亚洲婷久久 | 国内精品久久久久影院一蜜桃 | 久草在线电影网 | 午夜狠狠干 | 少妇高潮冒白浆 | 蜜臀一区二区三区精品免费视频 | 欧美久久久久久久久中文字幕 | 国内精品久久久久影院一蜜桃 | 天天摸天天干天天操天天射 | 国产精品女同一区二区三区久久夜 | www久久国产 | 欧美在线一二 | 国产日产精品一区二区三区四区的观看方式 | 一二三四精品 | 午夜影视一区 | 日本在线成人 | 香蕉视频亚洲 | 久久精品国产精品 | 日本精a在线观看 | 国产91全国探花系列在线播放 | 日本中文字幕视频 | 亚洲电影影音先锋 | 在线免费观看视频a | 亚洲天堂色婷婷 | 伊人激情综合 | 97国产情侣爱久久免费观看 | 久久精品影片 | 日韩在线视频线视频免费网站 | 伊人影院得得 | 免费日p视频 | 成人在线观看免费视频 | 久久免费试看 | 亚洲成人av一区 | 99视频在线播放 | 韩日成人av | 69精品人人人人 | av一级在线 | 最近免费中文字幕mv在线视频3 | 就要色综合| 麻豆观看 | 日本中文字幕电影在线免费观看 | 激情久久伊人 | 久久精品91久久久久久再现 | 视频一区二区三区视频 | 免费成人在线观看 | 日韩 精品 一区 国产 麻豆 | 99久久er热在这里只有精品66 | 成人免费观看视频大全 | 亚洲高清视频在线播放 | 亚洲一区二区高潮无套美女 | www.色爱| av天天草| 国产精品二区在线 | 五月精品 | 国产特级毛片aaaaaa | 久久久久久国产精品免费 | 一区二区三区四区影院 | 欧美日韩国产一区二区三区在线观看 | 亚洲国产无 | 五月婷婷狠狠 | 人人添人人澡 | 黄色精品久久 | 三级a视频 | 国产精品嫩草55av | 97视频在线看| 亚洲专区免费观看 | 久久综合欧美精品亚洲一区 | 成人午夜影院 | 波多野结衣电影一区 | 一级黄色av | 国产亚洲一级高清 | 国产精品毛片久久 | 国产一区福利在线 | 国产精选在线 | 亚欧洲精品视频在线观看 | 国产成人无码AⅤ片在线观 日韩av不卡在线 | 国产视频久久 | 久草电影免费在线观看 | av电影中文字幕在线观看 | av天天在线观看 | 亚州精品成人 | 天天爽人人爽 | 玖玖色在线观看 | 久久久视屏 | 国产精品久久久久久久久久久久午夜 | 麻豆视频免费网站 | 国产精品一二 | 国产成人av电影在线观看 | 日韩精品视频网站 | 日本久久中文 | 免费午夜视频在线观看 | 国产91精品一区二区绿帽 | 久久九九免费视频 | 99热精品在线 | 日韩久久午夜一级啪啪 | 欧美日韩国产三级 | 97色在线观看 | 欧美aa一级片| 精品久久99 | 婷婷伊人五月天 | 99999精品视频 | 久久综合久久综合这里只有精品 | 香蕉看片| 久久99亚洲精品久久 | 中文字幕在线观看免费 | av成年人电影 | 亚洲精品久久视频 | 欧美福利片在线观看 | 午夜免费在线观看 | 在线视频 亚洲 | 成人在线播放视频 | 色资源在线观看 | 国产91区| 91九色porny蝌蚪视频 | 日韩一区二区三区免费视频 | 黄色软件视频大全免费下载 | 国产一区播放 | 亚洲午夜精品在线观看 | 一区二区伦理 | 6080yy精品一区二区三区 | 激情欧美日韩一区二区 | 有码中文字幕 | 成人精品久久久 | 亚洲自拍偷拍色图 | 99re在线视频观看 | 欧美精品久久久久久久久久久 | 国产成人区 | 色婷婷亚洲婷婷 | 伊人伊成久久人综合网小说 | 精品免费 | 国产精品第52页 | av成人动漫在线观看 | 毛片一区二区 | 久久久这里有精品 | 国产高清在线看 | 亚洲最快最全在线视频 | 天天摸天天弄 | 女人高潮特级毛片 | 97人人模人人爽人人少妇 | 久久区二区 | 国内精品久久久久久久影视麻豆 | 综合网天天 | 天天干天天上 | 少妇搡bbbb搡bbb搡忠贞 | 国产日韩欧美网站 | 亚洲少妇自拍 | 最近日本韩国中文字幕 | 成人黄色小视频 | 日韩黄色免费电影 | 欧美激情综合色 | 亚洲a资源| 日韩高清国产精品 | 久久久影院官网 | 在线看片日韩 | 久久艹影院 | 欧美精品你懂的 | 欧美久久久久久久久久 | 丁香五月亚洲综合在线 | 日本一区二区三区免费看 | 午夜精品在线看 | 午夜免费视频网站 | av韩国在线| 精品一区二区电影 | 亚洲专区视频在线观看 | 久久99免费观看 | 久久久精品午夜 | 99热国产在线观看 | 国产成人久久 | 人人爽人人爽人人片av | 激情深爱.com | 99国产精品久久久久老师 | 国精产品999国精产品岳 | 国产精品资源 | 日韩免费在线看 | 久热国产视频 | 香蕉在线播放 | 免费看的毛片 | 婷婷性综合 | 国产成人精品一区二三区 | 国产午夜精品在线 | 中文字幕 国产 一区 | 久久狠狠干 | 青青草在久久免费久久免费 | 日韩激情视频在线观看 | 黄色国产在线 | 国产激情电影综合在线看 | 国产电影一区二区三区四区 | 国精产品满18岁在线 | 久久久久国 | 亚洲三级黄 | 欧美精品生活片 | 国产精品免费观看国产网曝瓜 | 91免费观看 | 中文字幕一区二区三区乱码在线 | 99r在线观看 | av一级黄| 在线观看黄污 | 亚洲va欧洲va国产va不卡 | 日韩特级黄色片 | 国产欧美在线一区二区三区 | 欧美一级大片在线观看 | 亚洲伦理一区二区 | 免费a一级 | 97精品国产手机 | 天天操天天操天天操天天操天天操天天操 | 一级黄色片在线观看 | 日韩欧美视频一区二区三区 | 97人人澡人人爽人人模亚洲 | 午夜色性片 | 国产韩国日本高清视频 | 日韩午夜精品福利 | 99在线视频播放 | 在线观看黄色 | 日韩av不卡播放 | 全久久久久久久久久久电影 | 特级西西444www大精品视频免费看 | 国产一区二区在线观看免费 | 久久伊人精品天天 | 日韩欧在线 | 国产精品ssss在线亚洲 | 91黄站| 国产精品video | 婷婷国产在线 | 亚洲精品tv| 天天玩天天操天天射 | 天天操天天操天天操天天操天天操天天操 | 国精产品满18岁在线 | 国产黄色电影 | 不卡国产视频 | 中文字幕二区三区 | 中文字幕 国产视频 | 97成人精品区在线播放 | 国产黑丝一区二区三区 | 日日射天天射 | 最近更新的中文字幕 | 999久久久久久久久 69av视频在线观看 | 国产一区二区在线观看免费 | 国产精品青草综合久久久久99 | 在线免费视 | 丁香婷婷激情网 | 五月丁色 | 日韩在线观看的 | 午夜免费视频网站 | 成人免费视频网站在线观看 | 人人cao | 天天·日日日干 | 久久理论电影网 | 成人97人人超碰人人99 | 亚洲天天干 | 久草综合在线观看 | 91亚洲成人 | 国产精品久久在线观看 | 色综合久久久久综合99 | 中文字幕一区2区3区 | 成人在线一区二区 | 丁香五月缴情综合网 | 亚洲精品成人av在线 | 一区二区精 | 一区二区三区免费在线观看视频 | 中文资源在线官网 | 在线播放你懂 | 天天操天天操一操 | 国产日产精品一区二区三区四区 | 香蕉在线影院 | 在线免费高清一区二区三区 | 亚洲精品久久久久久久不卡四虎 | 国产福利av在线 | 国产成人精品一区二区三区网站观看 | 黄色小网站免费看 | 九九99| 91免费的视频在线播放 | 国产精品视频最多的网站 | 国产69久久久欧美一级 | 久久99国产精品二区护士 | 国产成人精品久久二区二区 | 久久桃花网 | 成人久久久久久久久 | 国产视频亚洲精品 | 欧美一级片在线免费观看 | 99热99热| 久草在线视频首页 | 91在线视频免费91 | 69精品人人人人 | 免费在线观看国产黄 | 中国一区二区视频 | 亚洲国产中文字幕 | 五月天天av | 亚洲 欧洲 国产 日本 综合 | 超碰在线观看av.com | 美女网站在线 | 97视频入口免费观看 | 91在线免费播放视频 | 亚洲精品久久久久久久不卡四虎 | 日韩欧美高清视频在线观看 | 夜添久久精品亚洲国产精品 | 国产精品网站 | 日韩av在线免费看 | 久久综合五月天婷婷伊人 | 深夜免费福利网站 | 欧美性视频网站 | 国产黄色高清 | 国产精品第7页 | 亚洲最快最全在线视频 | 国产一区免费看 | 日本黄网站 | 人人爽人人| 午夜精选视频 | 美女视频一区 | 1024久久 | 日日夜夜网站 | 国产精品一区二区无线 | 日本久久视频 | 99久久精品免费看国产 | 综合影视 | 国产精品成人一区二区 | 久久99久国产精品黄毛片入口 | 国内精品久久久久影院一蜜桃 | 97av在线视频| 免费黄色网址大全 | 国产精品mv | 亚洲精品在线观看的 | 在线播放亚洲 | 黄色软件在线观看免费 | 五月婷亚洲 | 天天躁日日躁狠狠躁av麻豆 | 91视频 - 88av | 亚洲天堂网在线视频观看 | 日韩高清在线一区二区 | 丁香久久五月 | 国产精品久久一卡二卡 | 成片人卡1卡2卡3手机免费看 | 日韩激情久久 | av久久久久久 | 91视频国产免费 | 黄色av三级在线 | 亚洲成av| 亚洲精品在线一区二区三区 | 久久免费电影网 | 国产成人精品久久久久蜜臀 | 美女国产网站 | a√国产免费a| 亚洲精品黄网站 | 色婷婷www| 人人插人人插 | 日韩免费在线网站 | 欧美日韩aa | 色亚洲激情 | 国产精品久久二区 | 狠狠干2018| 成人免费观看视频大全 | 亚洲国产成人精品久久 | 欧美天堂久久 | 亚洲精品视频在线免费 | 亚州免费视频 | 91麻豆精品一区二区三区 | 久久好看 | 狠狠色丁香久久婷婷综合五月 | 韩国精品在线观看 | 亚洲国产理论片 | 五月在线视频 | 国产高h视频 | 精品亚洲视频在线观看 | 久久久久免费精品国产小说色大师 | 亚洲激情在线播放 | 久久亚洲成人网 | 99久久精品国产欧美主题曲 | 日韩欧美中文 | 超碰在线公开免费 | 国外调教视频网站 | 国产 日韩 在线 亚洲 字幕 中文 | 久久视频免费 | 五月天久久精品 | 亚洲爱视频 | 四虎欧美| av资源中文字幕 | av在线不卡观看 | 国产精品国产亚洲精品看不卡 | 免费a级毛片在线看 | 免费在线激情电影 | 天天做天天干 | 日韩v欧美v日本v亚洲v国产v | 视频国产精品 | 涩av在线 | 久久久在线 | 少妇自拍av| www.神马久久 | 亚洲成人资源在线 | 人人爽人人搞 | 免费观看午夜视频 | 九九热免费观看 | 亚洲综合婷婷 | 91久久精品一区 | 久久免费播放视频 | 久草免费福利在线观看 | 国产精品第一 | 丁香 婷婷 激情 | 日日夜夜操操操操 | 正在播放国产一区二区 | 在线播放 日韩专区 | 欧美综合在线视频 | 天天做综合网 | 超碰97网站 | 一区二区三区韩国免费中文网站 | 美女福利视频 | 少妇性色午夜淫片aaaze | 久草com| 婷婷 综合 色 | 少妇bbbb | 九色视频自拍 | 免费观看的av网站 | 韩日精品在线观看 | 日本中文字幕在线播放 | 成人高清在线 | 黄色av一级片 | 91久久精品一区二区三区 | 丝袜网站在线观看 | 午夜成人免费电影 | 午夜精品99久久免费 | 日日夜夜精品网站 | 日韩中文字幕91 | 欧美一区二区三区在线视频观看 | 国产精品第二页 | 欧美激情精品久久久久久免费印度 | 午夜精品久久久99热福利 | 亚洲蜜桃在线 | 免费av成人在线 | 久热超碰 | 日本一区二区三区视频在线播放 | 日韩精品一区二区三区中文字幕 | 亚洲国产精品va在线看黑人动漫 | 毛片无卡免费无播放器 | 热久久免费视频 | 亚洲综合日韩在线 | 久久久久久99精品 | 国产视频亚洲视频 | 国产一级片一区二区三区 | 91香蕉视频黄色 | 国产精品欧美日韩在线观看 | 国产高清日韩欧美 | 四虎影院在线观看av | 久久xx视频 | 亚洲 欧洲 国产 日本 综合 | 久久人人爽人人爽人人片av软件 | 蜜臀久久99精品久久久无需会员 | 精品亚洲免a | 在线观看一| 国产精品久久久视频 | 狠狠色狠狠色 | 日韩精品欧美精品 | 免费看国产一级片 | 日韩午夜一级片 | 91av在线不卡| 俺要去色综合狠狠 | 在线观看mv的中文字幕网站 | a级一a一级在线观看 | 蜜桃av久久久亚洲精品 | 中文字幕在线播放视频 | 激情丁香在线 | 久久96国产精品久久99软件 | 国产剧情av在线播放 | 亚洲精品美女视频 | 99在线视频播放 | 人人干人人添 | 最新中文字幕在线观看视频 | 亚洲年轻女教师毛茸茸 | 久久一久久 | 国内外成人在线视频 | 亚洲一二区精品 | 国产亚洲精品久久 | 午夜在线观看一区 | 久久精品国产免费看久久精品 | 欧美成人一区二区 | 日韩欧美在线综合网 | 在线国产专区 | 精品国产观看 | 久久99网站 | 国产精品国产三级国产aⅴ入口 | 国产日韩在线一区 | 国产精品1区2区3区在线观看 | 精品视频久久久久久 | 天天曰天天爽 | 又色又爽又黄高潮的免费视频 | 一区二区三区中文字幕在线 | 在线国产福利 | 国产你懂的在线 | 欧美精品中文在线免费观看 | 96精品高清视频在线观看软件特色 | 午夜婷婷综合 | 热久久影视| 天天干天天摸天天操 | 国产亚洲精品免费 | 成人9ⅰ免费影视网站 | 亚洲高清av| 国产日韩视频在线播放 | 国产精品久久在线观看 | 黄a在线看 | 国产麻豆精品一区 | 九九国产精品视频 | 最近中文字幕完整视频高清1 | 五月婷婷色 | 欧美性黄网官网 | 国产一卡二卡四卡国 | 一区二区三区精品在线 | 久久精品国产成人 | 黄色www在线观看 | 夜夜婷婷 | 日韩精品在线一区 | 九九免费精品视频在线观看 | 亚洲精品国偷拍自产在线观看 | 蜜臀av网址 | 日韩在线观看一区二区 | 日韩中文字幕免费视频 | 天堂av在线网站 | 欧美精品乱码久久久久久按摩 | 欧美综合久久久 | 国产在线v| 亚洲精品永久免费视频 | 精品1区二区 | 日韩午夜网站 | 久久99久久99精品免观看软件 | 久久免费视频8 | 97超碰在线资源 | 嫩草91影院 | 亚洲精品乱码白浆高清久久久久久 | 91传媒在线 | 狠狠地日 | 成年人在线观看免费视频 | 在线观看黄网站 | 国产91影院 | 偷拍久久久 | 黄网站色成年免费观看 | 欧美日韩性生活 | 四月婷婷在线观看 | 91精品一区二区三区蜜臀 | 精品字幕 | 久久影院午夜论 | 日b视频国产 | 亚洲精品美女久久 | 91色偷偷| 免费又黄又爽 | 久久精品二区 | 中国精品少妇 | 91免费版在线观看 | 久久久国产精品网站 | 国产免费一区二区三区网站免费 | 久久精品—区二区三区 | 黄色国产成人 | 日韩av中文在线观看 | 十八岁以下禁止观看的1000个网站 | 成年人电影免费在线观看 | 日韩av成人在线观看 | 成人av电影免费观看 | 五月天婷婷在线视频 | 亚洲丁香日韩 | 奇米四色影狠狠爱7777 | 九七视频在线观看 | 国产一区二区在线播放视频 | 色播五月激情综合网 | 国产视| 在线观看久草 | 夜夜婷婷 | 国产亚洲视频中文字幕视频 | 麻豆av一区二区三区在线观看 | 丁香婷婷综合色啪 | 免费男女网站 | 日日狠狠 | 一级免费观看 | 亚洲高清视频在线观看 | 日韩精品最新在线观看 | 国产专区在线播放 | 免费看的黄色片 | 天天干天天操天天爱 | 国产成人精品综合 | 日韩动漫免费观看高清完整版在线观看 | 国产精品久久三 | 韩国精品福利一区二区三区 | 在线观看一区二区视频 | 久久久首页 | 久久久久久麻豆 | 91视频在线观看免费 | 狠狠狠色丁香婷婷综合激情 | 97在线影视 | 国产精品欧美在线 | 久久视频在线看 | 黄色在线免费观看网址 | 午夜精品一区二区三区在线观看 | 日韩精品中文字幕在线不卡尤物 | 欧美婷婷色 | 亚洲,国产成人av | 五月婷婷视频在线观看 | 国产精品久久久久久久久久免费看 | 九九久 | 四虎永久免费网站 | 日韩成年视频 | 色a网| 欧美肥妇free | 成人久久电影 | 在线影院 国内精品 | 狠狠做六月爱婷婷综合aⅴ 日本高清免费中文字幕 | 中文字幕一区二区三 | 婷婷精品进入 | 国产在线更新 | 久久视频99| 黄网站www | 国产精品久久久久高潮 | 婷婷狠狠操 | 中文字幕免费成人 | 亚洲高清久久久 | 国产精品手机在线播放 | 欧美久久久久久久久中文字幕 | 国产原创av在线 | 国产不卡av在线播放 | 久久久久国产精品一区 | 一本一道久久a久久综合蜜桃 | 国产精品免费观看网站 | 国产电影一区二区三区四区 | 国产一级在线播放 | 开心丁香婷婷深爱五月 | 成人av手机在线 | 中文字幕在线网址 | 97香蕉超级碰碰久久免费软件 | 美女免费黄视频网站 | 91精选在线| 国产精品99久久久久的智能播放 | 天天射天天干天天操 | 亚洲美女视频网 | 超碰999 | 国产福利在线 | 久久久久久久久久久成人 | 亚洲综合在线播放 | 91精品在线免费观看视频 | 激情五月播播久久久精品 | 欧美日韩精品区 | 国产一区二区三精品久久久无广告 | 色偷偷88888欧美精品久久 | 一区二区不卡视频在线观看 | 日韩在线国产精品 | 中国一级片视频 | 成人免费观看视频网站 | 操久久网| 在线观看91av | 精品一区二区久久久久久久网站 | 不卡的av| 免费国产一区二区视频 | 欧美精品亚洲精品日韩精品 | 国产99一区| 国产乱对白刺激视频不卡 | 在线观看黄网站 | av福利在线免费观看 | 精品久久久久久久 | 色综合色综合久久综合频道88 | 91麻豆精品国产午夜天堂 | 欧美精品三级 | 久草爱视频 | 精油按摩av | 久久一区精品 | 5月丁香婷婷综合 | 麻豆首页 | 国产一区在线视频播放 | 中文字幕4 | www.久久久com| 91资源在线观看 | 91精品伦理| 91麻豆精品国产自产在线 | 天天插狠狠干 | 亚洲影院一区 | 国产美女视频一区 | 天堂在线视频中文网 | 99视频精品视频高清免费 | 国产成人高清在线 | 久久超级碰 | 91高清免费在线观看 | 亚洲精品乱码久久久久v最新版 | 一区二区av| 91香蕉视频在线 | 黄色福利视频网站 | 超碰免费在线公开 | 成年人免费在线观看 | 狠狠激情中文字幕 | 免费a v观看 | 99久久精品日本一区二区免费 | 天天干天天操天天 | 香蕉视频国产在线 | 国产综合在线视频 | 日日摸日日爽 | 中文乱码视频在线观看 | 综合黄色网 | 亚洲国产偷| 一区二区三区动漫 | 国产黄色免费在线观看 | 日韩午夜高清 | 久久成人综合 | 97久久精品午夜一区二区 | 色综合天天色 | 特黄特色特刺激视频免费播放 | 欧美激情视频一二区 | 国产精品永久久久久久久www | 日韩在线免费观看视频 | 视频国产区 | 一区二区三区在线视频观看58 | 欧美大荫蒂xxx | 久久男人影院 | 色婷婷综合视频在线观看 | 91大神一区二区三区 | www亚洲精品| 婷婷精品国产欧美精品亚洲人人爽 | 国产色资源 | 久久久久99999 | 国产精品久久在线观看 | 天天躁日日躁狠狠躁av中文 | 国产a网站 | 国产精品久久久久久久久久久久久久 | 91九色免费视频 | 亚洲成色 | 久久99国产综合精品 | 成人在线观看资源 | 久草久| 在线观看一级 | 欧美在线视频二区 | 天天综合网 天天综合色 | 国产又粗又猛又爽又黄的视频免费 | 精品久久久久一区二区国产 | 福利视频第一页 | 成人av资源| 亚洲无吗视频在线 | 国产一级视屏 | 久久久午夜电影 | 97国产视频| 国产亚洲精品久久久久久移动网络 | 91久久精品日日躁夜夜躁国产 | 国产高清视频网 | 在线视频 成人 | 伊人va| 黄色片免费在线 | 在线观看视频国产一区 | 日韩在线免费不卡 | 九九热在线播放 | 亚洲伊人色 | 成人网页在线免费观看 | av电影中文字幕 | 美女视频黄色免费 | 99久久精品免费 | 久久只精品99品免费久23小说 | 久久精品视频免费播放 | 精品久久久久久亚洲综合网 | 最新国产在线观看 | av在线免费在线 | 欧美日韩高清在线一区 | 日韩有色 | 欧美一级性生活 | 色噜噜狠狠狠狠色综合久不 | 2019中文字幕网站 | 九九日九九操 | 欧美激情xxxx | 久草线 | 国产一区二区三区午夜 | 国产美女网站在线观看 |