wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> STM32 >> 瀏覽文章

基于SPI模式的SD卡驅(qū)動(dòng)程序

作者:佚名   來源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2014年08月18日   【字體:

u8 SD_SendCommand(u8 cmd,u32 arg, u8 crc)

 {
  u8 r1;
  unsigned int Retry = 0;
  SD_CS_DISABLE();
  SPI_ReadWriteByte(0xff);//提高兼容性,如果沒有這里,有些SD卡可能不支持
  SD_CS_ENABLE();//片選端置低,選中SD卡
  /*發(fā)送命令序列*/
  SPI_ReadWriteByte(cmd | 0x40);
  SPI_ReadWriteByte((u8)(arg>>24));//參數(shù)[31..24]
  SPI_ReadWriteByte((u8)(arg>>16));//參數(shù)[23..16]
  SPI_ReadWriteByte((u8)(arg>>8)); //參數(shù)[15..8]
  SPI_ReadWriteByte((u8)arg);      //參數(shù)[7..0]
  SPI_ReadWriteByte(crc);
 
       //等待響應(yīng),或超時(shí)退出
       while((r1 = SPI_ReadWriteByte(0xff)==0xff))
        {
      Retry++;
      if(Retry>800)break;//根據(jù)實(shí)驗(yàn)測(cè)得,最好重試次數(shù)多點(diǎn)
         }
        //關(guān)閉片選
        SD_CS_DISABLE();
        //在總線上額外增加8個(gè)時(shí)鐘,讓SD卡完成剩下的工作
        SPI_ReadWriteByte(0xff);
 
       //返回狀態(tài)值
       return r1;
 
  }
/************************************************************************
*SD卡初始化函數(shù)
*延時(shí)等待SD卡上電完成
*給至少74個(gè)脈沖讓SD卡自己初始化完成
*持續(xù)發(fā)送發(fā)送CMD0接收0x01(可以不接受)SD回應(yīng)進(jìn)入Idle(空閑)狀態(tài)
*
************************************************************************/
 
u8 SD_Init(void)
 {
 u16 i;         //用來循環(huán)計(jì)數(shù)
 u8 r1;     //存放SD卡的返回值
 u16 retry; //用來進(jìn)行超時(shí)計(jì)數(shù)
 u8 buff[6];
 SPI_ControlLine();  //SPI的配置初始化
 SPI_SetSpeed(SPI_SPEED_LOW);
 SD_CS_ENABLE();
 //純延時(shí),等待SD卡上電完成
 for(i=0;i<0xf00;i++);
 //先產(chǎn)生至少74個(gè)脈沖,讓SD卡自己初始化完成
 for(i=0;i<10;i++)
 {
   SPI_ReadWriteByte(0xFF); //80clks
 }
 //-------------------SD卡復(fù)位到idle開始-------------------
 //循環(huán)連續(xù)發(fā)送CMD0,直到SD卡返回0x01,進(jìn)入IDLE狀態(tài)
 //超時(shí)則直接退出
 retry = 0;
      do
      {
          //發(fā)送CMD0,讓SD卡進(jìn)入IDLE狀態(tài)
     ri = SD_SendCommand(CMD0,0,0x95);
     retry++;
  }while((r1 != 0x01)&& (retry<200));
  //跳出循環(huán)后,檢查原因: 初始化成功?or重試超時(shí)?
  if(retry==200) return 1;//超時(shí)返回1
 
 
  //--------------SD卡復(fù)位到idle結(jié)束----------
  //獲取卡片的SD版本信息
  r1 = SD_SendCommand_NoDeassert(CMD8,0x1aa,0x87);
  //如果卡片版本信息是V1.0版本的,即r1=0x05,則進(jìn)行以下初始化
  if(r1==0x05)
   {
      //設(shè)置卡類型為SDV1.0,如果后面檢測(cè)為MMC卡,再修改為MMC
      SD_Type = SD_TYPE_V1;
      //如果是V1.0卡,CMD8指令后沒有后續(xù)數(shù)據(jù)
      //片選置高,結(jié)束本次命令
      SD_CS_DISABLE();
      //多發(fā)8個(gè)clk,讓SD結(jié)束后續(xù)操作
      SPI_ReadWriteByte(0xff);
      //----------------SD卡、MMC卡初始化開始------------------
      //發(fā)卡初始化指令CMD55+ACMD41
      //如果有應(yīng)答,說明是SD卡,且初始化完成
      //沒有回應(yīng),說明是MMC卡,額外進(jìn)行相應(yīng)初始化
      retry = 0;
      do
       {
          //先發(fā)CMD55,應(yīng)返回0x01,否則出錯(cuò)
      r1 = SD_SendCommand(CMD55,0,0);
      if(r1 !=0x01)
      return r1;
      //得到正確響應(yīng)后,發(fā)ACMD41,應(yīng)得到返回值0x00,佛則重試400次
      r1 = SD_SendCommand(ACMD41,0,0);
      retry++;
     }while((r1!=0x00)&&(retry<400));
     //判斷是超時(shí)還是得到正確回應(yīng)
     // 若有回應(yīng):是SD卡:沒有回應(yīng):是MMC卡
 
     //---------------MMC卡額外初始化操作開始-------------
    if(retry==400)
     {
        retry =0;
    //發(fā)送MMC卡初始化命令(沒有測(cè)試)
    do
     {
        r1=SD_SendCommand(CMD1,0,0);
        retry++;
      }while(r1!=0x00)&&(retry<400);
      if(retry==400)return 1;//MMC卡初始化超時(shí)
      //寫入卡類型
      SD_Type=SD_TYPE_MMC;
      }
      //----------MMC卡額外初始化操作結(jié)束---------------
      //設(shè)置SPI為高速模式
      SPI_SetSpeed(SPI_SPEED_HIGH);
      SPI_ReaadWriteByte(0xff);
 
      //禁止CRC校驗(yàn)
      r1=SD_SendCommand(CMD59,0,0x95);
      if(r1!=0x00)return r1;//命令錯(cuò)誤,返回r1
      //-------------SD卡、MMC卡初始化結(jié)束-------------
 
          }//SD卡為V1.0版本的初始化結(jié)束
          //下面是V2.0卡的初始化
      //其中需要讀取OCR數(shù)據(jù),判斷是SD2.0還是SD2.0HC
else if(r1==0x01)
 {
     //v2.0的卡,CMD8命令后會(huì)傳回4字節(jié)的數(shù)據(jù),要跳過在結(jié)束本命令
     buff[0]=SPI_ReadWriteByte(0xff);//shoule be 0x00
     buff[1]=SPI_ReadWriteByte(0xff);//shoule be 0x00
     buff[2]=SPI_ReadWriteByte(0xff);//shoule be 0x11
     SD_CS_DISABLE();
     SPI_ReadWriteByte(0xff);//the next 8 clocks
     //判斷該卡是否支持2.7-3.6的電壓范圍
     //if(buff[2]==0x01&&buff[3]==0xaa)//如不判斷,讓其支持的卡更多
     //{
     retry = 0;
 //發(fā)卡初始化指令CMD55+ACMD41
 do
  {
     r1=SD_SendCommand(CMD55,0,0);
 if(r1!=0x01)return r1;
 r1=SD_SendCommand(ACMD41,0x40000000,1);
 if(retry>200)return r1;//超時(shí)則返回r1狀態(tài)
 }while(r1!=0);
 //初始化指令發(fā)送完成,接下來獲取OCR信息
 //----------鑒別SD2.0卡版本開始------------
 r1=SD_SendCommand_NoDeassert(CMD58,0,0);
 if(r1!=0x00)return r1;//如果命令沒有返回正確應(yīng)答,直接退出返回應(yīng)答
 //讀OCR指令發(fā)出后,緊接著是4字節(jié)的OCR信息
 buff[0]=SPI_ReadWriteByte(0xff);
 buff[1]=SPI_ReadWriteByte(0xff);
 buff[2]=SPI_ReadWriteByte(0xff);
 buff[3]=SPI_ReadWriteByte(0xff);
 
       //OCR接收完成,片選置高
 SD_CS_DISABLE();
 SPI_ReadWriteByte(0xff);
 
 //檢查接收到的OCR中的bit30位(CCS),確定其為SD2還是SDHC
 //如果CCS=1:SDHC   CCS=0:   SD2.0
 if(buff[0]&0x40)SD_Type = SD_TYPE_V2HC;//檢查CCS
 else SD_Type=SD_TYPE_V2;
 //------------------鑒別SD2.0卡版本結(jié)束------------------
 //設(shè)置SPI為高速模式
 SPI_SetSpeed(1);
}
return r1
 
}
 
/******************************************************************
*********************SPI模式GPIO端口設(shè)置***************************
**************PA5=SCK、PA6=MISO、PA7=MOSI、PA4=CS******************
******************************************************************/
 
void SPI_ControlLine(void)
{
    GPIO_InitTypeDef GPIO_InitStructure;
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC ,ENABLE);
    RCC_APB1PeriphClockCmd(RCC_APB1Periph_SPI2,ENABLE);
 
    /*configuration SPI1 pins:,SCK,MISO and MOSI*/
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5|GPIO_Pin_7; 
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; 
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; 
    GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6; 
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //MISO應(yīng)該要初始化為上拉輸入
    GPIO_Init(GPIOA, &GPIO_InitStructure);
/*configration PA4 Pin:  CS Pin*/
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4; 
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; 
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; 
    GPIO_Init(GPIOA, &GPIO_InitStructure);
}
 
/**************************************************************************
***********************SPI通信模式初始化***********************************
***********************設(shè)置高速或低速模式**********************************
**************************************************************************/
 
void SPI_SetSpeed(u8 SpeedSet)
{
   /* Initialize the SPI1 according to the SPI_InitStructure members */ 
   SPI_InitTypeDef SPI_InitStructure;
   if(SpeedSet==SPI_SPEED_HIGH)//高速
   {
      SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex; 
      SPI_InitStructure.SPI_Mode = SPI_Mode_Master; 
      SPI_InitStructure.SPI_DatSize = SPI_DatSize_8b; 
      SPI_InitStructure.SPI_CPOL = SPI_CPOL_High; 
      SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge; 
      SPI_InitStructure.SPI_NSS = SPI_NSS_Soft; 
      SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_2; 
      SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB; 
      SPI_InitStructure.SPI_CRCPolynomial = 7;
   
    
   SPI_Init(SPI1, &SPI_InitStructure); 
   /*SPI1 enable*/
   SPI_Cmd(SPI1,ENABLE);
   }
   else//低速
     {  
SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex; 
        SPI_InitStructure.SPI_Mode = SPI_Mode_Master; 
        SPI_InitStructure.SPI_DatSize = SPI_DatSize_8b; 
        SPI_InitStructure.SPI_CPOL = SPI_CPOL_High; 
        SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge; 
        SPI_InitStructure.SPI_NSS = SPI_NSS_Soft; 
        SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_256; 
        SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB; 
        SPI_InitStructure.SPI_CRCPolynomial = 7;
  
        SPI_Init(SPI1,&SPI_InitStructure);
/*SPI1 enable*/
SPI_Cmd(SPI1,ENABLE); 
      }
}
 
/************************************************************
**************************發(fā)送命令***************************
************************************************************/
 
u8 SD_SendCommand_NoDeassert(u8 cmd, u32 arg,u8 crc)
{
    unsigned char r1;
    unsigned int Retry = 0;
 
    SD_CS_DISABLE();
    SPI_ReadWriteByte(0xff);//提高兼容性,如果沒有這里,有些SD卡可能不支持
    SD_CS_ENABLE();//片選端置低,選中SD卡
 
    /*發(fā)送命令序列*/
    SPI_ReadWriteByte(cmd | 0x40);
    SPI_ReadWriteByte((u8)(arg>>24));//參數(shù)[31..24]
    SPI_ReadWriteByte((u8)(arg>>24));//參數(shù)[23..16]
    SPI_ReadWriteByte((u8)(arg>>24));//參數(shù)[7..0]
    SPI_ReadWriteByte(crc);
 
    //等待響應(yīng),或超時(shí)退出
    while((r1 = SPI_ReadWriteByte(0xff))==0xff)
    {
    Retry++;
  if(Retry>600)break;//根據(jù)實(shí)驗(yàn)測(cè)得,最好重試次數(shù)多點(diǎn)
     }
//返回響應(yīng)值
return r1;
}
 
/**************************************************************
************************向SD卡寫一個(gè)塊*************************
**************************************************************/
 
u8 SD_WriteSingleBlock(u32 sector,const u8 *data)
{
u8 r1;
u16 i;
u16 retry;
 
//設(shè)置為高速模式
SPI_SetSpeed(SPI_SPEED_LOW);
 
//如果不是SDHC,給定的是sector地址,將其轉(zhuǎn)換成byte地址
if(SD_Type!=SD_TYPE_V2HC)
{
    sector = sector<<9;//512*sector即物理扇區(qū)的邊界對(duì)齊地址
}
 
r1 = SD_SendCommand(CMD24,sector,0x00);
if(r1 !=0x00)
{
   return r1;//應(yīng)答不正確,直接返回
}
 
//開始準(zhǔn)備數(shù)據(jù)傳輸
SD_CS_ENABLE();
//先放3個(gè)空數(shù)據(jù),等待SD卡準(zhǔn)備好
SPI_ReadWriteByte(0xff);
SPI_ReadWriteByte(0xff);
SPI_ReadWriteByte(0xff);
//放起始令牌0xfe
SPI_ReadWriteByte(0xfe);
 
//發(fā)一個(gè)sector的數(shù)據(jù)
for(i=0;i<512;i++)
{
    SPI_ReadWriteByte(*data++);
}
//發(fā)2個(gè)Byte的dummy CRC
SPI_ReadWriteByte(0xff);
SPI_ReadWriteByte(0xff);
 
     //等待SD卡應(yīng)答
r1 = SPI_ReadWriteByte(0xff);
if((r1&0x1f)!=0x05)
{
    SD_CS_DISABLE();
return r1;
 }
 
//等待操作完成
retry = 0;
while(!SPI_ReadWriteByte(0xff))//卡自編程時(shí),數(shù)據(jù)線被拉低
{
    retry++;
if(retry>65534)       //如果長時(shí)間寫入沒有完成,報(bào)錯(cuò)退出
{
SD_CS_DISABLE();
return 1;         //寫入超時(shí)返回1
 }
  }
 
//寫入完成,片選置1
SD_CS_DISABLE();
SPI_ReadWriteByte(0xff);
 
return 0;
}
 
/********************************************************
******************從SD中讀取一個(gè)塊***********************
********************************************************/
 
u8 SD_ReadSingleBlock(u32 sector, u8 *buffer)
{
   u8 r1;
   //設(shè)置為高速模式
   SPI_SetSpeed(SPI_SPEED_LOW);
 
   if(SD_Type!=SD_TYPE_V2HC)
    {
  sector = sector<<9;//512*sector即物理扇區(qū)的邊界對(duì)齊地址
}
 
//如果不是SDHC,將sector地址轉(zhuǎn)成byte地址
//sector = sector<<9;
 
r1 = SD_SendCommand(CMD17,sector,1);//讀命令
 
if(r1 !=0x00)return r1;
r1 = SD_ReceiveData(buffer,512,EELEASE) ;
if(r1 != 0)
 return r1;   //讀數(shù)據(jù)出錯(cuò)!
else
 return 0;
}
 
/************************************************************
************************接收數(shù)據(jù)*****************************
************************************************************/
 
u8 SD_ReceiveData(u8 *data,u16 len,u8 release)
{
   u16 retry;
   u8 r1;
   //啟動(dòng)一次傳輸
   SD_CSENABLE();
   //等待SD卡發(fā)回?cái)?shù)據(jù)起始令牌0xfe
   retry = 0;
   do
   {
 r1 = SPI_ReadWriteByte(0xff);
 retry++;
 if(retry>4000)  //4000次等待后沒有應(yīng)答,退出報(bào)錯(cuò)(根據(jù)實(shí)驗(yàn)測(cè)試,此處最好多試幾次)
  {
    SD_CS_DISABLE();
return 1;
}
}while(r1 != 0xfe);
 
//開始接收數(shù)據(jù)
while(len--)
{
   *data = SPI_ReadWriteByte(0xff);
data++;
}
//下面是2個(gè)偽CRC(dummy CRC)
SPI_ReadWriteByte(0xff);
SPI_ReadWriteByte(0xff);
//按需釋放總線,將CS置高
if(release == RELEASE)
{  
   //傳輸結(jié)束
SD_CS_DISABLE();
SPI_ReadWriteByte(0xff);
}
 return 0;
}

void SPI_ReadWriteByte(u8 xxx)
{

void USART_Configuration(void)
{
寫寫看看400多行,尚有海量代碼沒有公布(還沒寫出或移植。
第一步:實(shí)現(xiàn)SD卡的初始化利用usart與筆記本通信。
第二步:在SD卡初始化實(shí)現(xiàn)的基礎(chǔ)上對(duì)SD卡進(jìn)行讀寫操作。
第三步:移植FAT文件系統(tǒng)管理圖像,聲音以及視頻文件(猜想或有技術(shù)上的錯(cuò)誤)。
第四步:ucgui的使用以及TFT用戶界面的設(shè)計(jì)。
當(dāng)然第三步與第四步相當(dāng)復(fù)雜所以必須有必勝的信心以及優(yōu)秀的體力與異常集中的精神。 
關(guān)閉窗口
亚洲综合网中心| 国产乱码久久久| 精品丰满人妻无套内射| 国产福利精品在线| 欧美一区二区私人影院日本| 91色视频在线| 亚洲蜜桃视频| 新婚的少妇hd中文字幕| av在线观看地址| 国产免费一区视频观看免费 | 亚洲国产中文字幕在线观看| 国产精品大尺度| 美女视频一区二区三区| av一区二区在线播放| 欧美福利在线播放| 在线免费观看黄色av| 日韩一区二区三区四区视频| 嫩草影院中文字幕| 国产精品初高中精品久久| 欧美日本黄视频| 国产精品国产三级国产专播品爱网| 黑丝一区二区三区| 欧美顶级毛片在线播放| 中文在线观看视频| 久久精品国产屋| 国产色视频在线| 国产精彩视频在线| 久久精品无码一区| 宅男噜噜99国产精品观看免费| 国产精品久久二区| 日韩亚洲欧美中文在线| 精品国产一区二区三区久久久蜜月| 国产中文一区二区三区| 欧美日韩久久| 精品久久99| 国产99re66在线视频| 欧美日韩国产综合视频| 白天操夜夜操| 草色在线视频| 91麻豆精品国产91久久| 男女下面一进一出无遮挡| 国产精品欧美激情在线| 日本a级c片免费看三区| 麻豆亚洲av熟女国产一区二 | 日韩在线导航| 高清av免费一区中文字幕| 国产精品91久久| 欧美亚洲在线视频| 久久久久久久一| 久久精品视频播放| 中文字幕亚洲一区在线观看 | 国产乱码精品一区二区三区卡| 国产精品电影观看| 91精品国产一区| 欧美精品一区二区三| 丁香五六月婷婷久久激情| 成人免费一区二区三区视频| 天堂成人免费av电影一区| 国产精品s色| 欧美成人一品| 亚洲国产一区二区久久| 亚洲成人看片| 台湾成人免费视频| 自拍视频在线免费观看| 久热av在线| 日韩午夜影院| 精品电影在线| 嫩草黄色影院| 91sese| 涩涩视频网站| h在线视频免费观看完整版| 美女被艹网站| 色成人亚洲网| 国产精品视频一区麻豆| 国产精品久久久高清免费| 精品a在线观看| 高清国产免费| 天天摸夜夜操| 高清免费观看在线| www.国产高清| 香蕉免费毛片视频| 日韩免费av网站| 中文字幕在线网站| 性欧美8khd高清极品| 呦视频在线一区二区三区| 亚洲国产一区二区久久久777 | 亚洲女人被黑人巨大进入al| 亚洲色图色老头| 欧美人与性动交| 日本一区二区三区在线播放| 91在线观看欧美日韩| 久久精品日产第一区二区三区| 日韩精品第一页| 奇米777四色影视在线看| 国产白丝袜美女久久久久| 亚洲人成无码www久久久| 欧美性猛交xxxx乱大交91| 久久免费视频2| 麻豆传媒一区二区| 国产精品av免费| 成人免费观看毛片| wwwxxx色| 美女露出粉嫩尿囗让男人桶| 污版视频在线观看| 97人妻精品一区二区三区免| 亚洲人与黑人屁股眼交| 欧美在线观看不卡| 好吊色一区二区| 91.www| 羞羞网www| 中文字幕中文字幕在线中高清免费版 | 日韩a一区二区| 99精品视频网| 欧美日本三区| 国内精品在线播放| 国产精品美女久久久久久久久久久| 午夜精品久久久久久久久久| 日韩三级电影网址| 久久99久久99精品免观看粉嫩| 成人中心免费视频| 性生活免费观看视频| 在线免费观看av网| 国产成人无码aa精品一区| 国产美女三级无套内谢| 国产精品一区二三区| 在线看成人av| 国产精品一区二区黑人巨大| 国产免费av网站| 亚洲免费av一区二区| 四虎影院在线域名免费观看| 国产极品人妖在线观看| 国产亚洲成av人片在线观黄桃| 韩日精品在线| 久久精品人人爽人人爽| 在线一区二区观看| 久久伊人免费视频| 精品国产一区二区三区日日嗨| 91国视频在线| 国产又粗又猛又爽又黄的视频四季| 中文字幕有码无码人妻av蜜桃| 性一交一乱一色一免费无遮挡| 韩日视频在线| 91免费精品国偷自产在线在线| 亚洲一区国产一区| 成人免费一区二区三区在线观看| 精品盗摄一区二区三区| 国产成人高潮免费观看精品| www.-级毛片线天内射视视| 国产a√精品区二区三区四区| 国产又黄又粗又爽| 丝瓜app色版网站观看| 国内精品久久久久久野外| 日本一区福利在线| 国产99久久久国产精品潘金网站| 欧美性猛交xxxxxxxx| 97视频免费观看| 青青草影院在线观看| 日韩中文字幕有码| 欧美性受xxxx狂喷水| 粉嫩喷白浆久久| 精品国产亚洲一区二区在线观看| 奶水喷射视频一区| 亚洲成av人片一区二区| 精品国产美女在线| 亚洲欧洲精品一区| 无码少妇一区二区三区芒果| 久草国产在线观看| 国产成人精品久久一区二区小说 | www.成人网.com| 亚洲午夜久久久久中文字幕久| 亚洲色图激情小说| 欧美激情第一页在线观看| 成人啪啪18免费游戏链接| 999av视频| 麻豆影视在线观看| 卡通动漫精品一区二区三区| 国产成人免费视| 精品国产一区二区在线观看| 丁香五月网久久综合| 美女被爆操网站| 午夜精品在线播放| 美女毛片在线看| 国产欧美日韩精品一区二区三区| 久久蜜桃av一区精品变态类天堂| 精品亚洲国产成av人片传媒| 欧美一级日本a级v片| 欧美激情 一区| 一级黄色高清视频| 成人av免费播放| 国产中文在线| 99久久亚洲精品| 国产成人日日夜夜| 欧美一级淫片007| 国产精品10p综合二区| 一级黄色片毛片| 亚洲精品在线播放视频| 8x8ⅹ拨牐拨牐拨牐在线观看| 亚洲伊人网站| 91精品国产乱| 欧美日韩一区二区三区免费| 少妇高潮在线观看| 色先锋av资源| 国产精品sss在线观看av| 2021国产精品久久精品| 日韩视频一区在线| 国产精品人人妻人人爽人人牛| 国产日韩欧美中文字幕| 中文字幕在线播放| 久久国产直播| 亚洲国产成人精品女人久久久| 视频在线99| 爱爱的免费视频| 国产一级片网站| 涩涩涩久久久成人精品| 99久久精品国产一区二区三区| 色多多国产成人永久免费网站 | 国产chinasex对白videos麻豆| 国产精品免费播放| 日本中文字幕在线一区| 中文字幕成人av| 日本精品在线视频 | av资源在线看| 亚洲国产欧美日韩在线观看第一区| 亚洲三级电影网站| 国产精品露脸自拍| 成熟老妇女视频| 国产成人三级一区二区在线观看一| 久草免费在线观看| 老司机精品视频导航| 亚洲视频在线视频| 国产v亚洲v天堂无码久久久 | 一区二区伦理片| 老女人av在线| 欧美色图国产精品| 日韩欧美中文字幕在线播放| 国产一区二区在线观看免费播放 | 黄色录像一级片| 久久午夜剧场| 欧美特黄a级高清免费大片a级| 欧美一级片免费看| 大荫蒂性生交片| 亚洲爱爱天堂| 快射视频在线观看| 美女在线观看视频一区二区| 中文字幕精品av| 亚洲最大天堂网| 999久久久久| 中文字幕不卡三区视频| 91亚洲国产成人精品一区二区三| 国产91精品久久久久久久| 90岁老太婆乱淫| 992tv成人国产福利在线| 亚洲精品少妇| 在线观看国产精品91| 中文 日韩 欧美| jizzjizz免费| 国一区二区在线观看| 亚洲欧美日韩国产精品| 日韩一区二区三区不卡视频| 成人精品一区二区不卡视频| 欧美猛男男男激情videos| 6080午夜不卡| 欧美下载看逼逼| 99视频国产精品免费观看a| 你懂得影院夜精品a| 自拍偷拍亚洲综合| 精品国产乱码一区二区三区四区| 国产一卡二卡三卡| 久久青青视频| 天天爽夜夜爽夜夜爽精品视频| 天天爽天天狠久久久| 免费av一级片| 看全色黄大色大片免费久久久| 欧美在线免费视屏| 亚洲中文字幕无码专区| 午夜色香蕉导航| 国产精品草草| 久久亚洲电影天堂| 精品一区二区三孕妇视频| 午夜激情在线观看| 久久嫩草精品久久久精品一| 亚洲国产精品综合久久久| 成人免费毛片男人用品| 成人精品一区二区三区四区 | 在线观看免费电影| 欧美一区二区三| 亚洲精品乱码久久久久久按摩观| 亚洲激情在线看| 蜜桃臀av在线| 免费成人在线电影| 亚洲一线二线三线视频| 国产成人一区二| 国产精品一区二区6| 全亚洲第一av番号网站| 精品美女久久久久久免费| 丰满的少妇愉情hd高清果冻传媒| 国产美女黄色| 影院欧美亚洲| 国产精品88av| 国产成人精品一区二区| 狠狠躁夜夜躁人人爽天天高潮| 成人国产二区| 国产在线|日韩| 视频一区国产视频| 国产精品av在线播放| chinese国产精品| 日韩免费成人| 日韩成人性视频| 变态另类ts人妖一区二区| 国产原创在线观看| 亚洲黄一区二区三区| 91九色丨porny丨国产jk| 丰满少妇又爽又紧又丰满电影| 奇米亚洲午夜久久精品| 亚洲综合视频1区| 欧区一欧区二欧区三| 欧美日本国产| 国产精品福利网站| 性一交一乱一乱一视频| 久久国产综合| 91精品国产九九九久久久亚洲| 国产一级免费视频| 欧美综合自拍| 美女精品久久久| 免费无码国产精品| 神马久久一区二区三区| 免费91在线视频| 久久精品国产亚洲av麻豆蜜芽| 色婷婷久久久| 制服丝袜亚洲网站| 亚洲熟女乱综合一区二区三区| 日本动漫理论片在线观看网站 | 99精品在线观看| 26uuu亚洲国产精品| 夜夜骚av一区二区三区| 国产欧美一区二区精品久久久| 色在人av网站天堂精品| 夜夜嗨aⅴ一区二区三区| 91精品国偷自产在线电影| 欧洲永久精品大片ww免费漫画| 亚洲a视频在线观看| 亚洲视频www| 国产青春久久久国产毛片| 一个人看免费www视频有多爽| 国产精品一区二区不卡| 国产日韩av在线| 三级小说一区| 青椒成人免费视频| 欧洲亚洲一区二区| 99热热99| 最新欧美精品一区二区三区| 中文字幕22页| av色在线观看| 亚洲欧美成人网| 国产又粗又猛又爽又| 欧美日韩国产色综合一二三四| www.久久爱.cn| 成年网址网站在线观看| 欧美国产欧美亚州国产日韩mv天天看完整| 国产av国片精品| 国产写真视频在线观看| 日韩视频在线你懂得| 国产一级特黄毛片| 国产欧美一区二区三区精品观看 | 久久久久九九精品影院| 精品国产一区二区三区久久| 久久亚洲国产成人精品无码区 | 噜噜爱69成人精品| 欧美一级二级三级| 97影视大全免费追剧大全在线观看| 亚洲精品国产无天堂网2021| 午夜性福利视频| 成人免费视频观看| 久久夜色精品亚洲噜噜国产mv | 日韩成人在线视频| 波多野结衣黄色网址| 亚洲全部视频| 亚洲精品欧洲精品| 色视频精品视频在线观看| 欧美亚洲一区三区| 久久精品国产亚洲AV无码男同| 四季av一区二区凹凸精品| 高清不卡一区二区三区| 婷婷六月天丁香| 色94色欧美sute亚洲线路一ni| 国产精品精品软件男同| 精品成人影院| 久久综合九色99| 一级片在线观看| 日韩视频一区在线观看| 日本视频www色| 青青青伊人色综合久久| 国产老熟妇精品观看| 白白色在线观看| 久久久精品国产一区二区| 先锋影音男人资源网| 久久久久国产精品人| 无码人妻精品一区二区三区99不卡| 麻豆精品久久| 成人黄色在线免费|