亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? nrf24l01.c

?? ARM_CORTEX-M3應用實例開發詳解光盤
?? C
字號:
#define NRF_GLOBALS

#include "..\App\includes.h"
#include "NRF24L01.h"
#include "demo.h"

/***************************************************/
//#define uchar unsigned char
//#define TX_ADR_WIDTH    5   // 5 bytes TX(RX) address width
//#define TX_PLOAD_WIDTH  20  // 20 bytes TX payload
//uchar TX_ADDRESS[TX_ADR_WIDTH]  = {0x34,0x43,0x10,0x10,0x01}; // Define a static TX address
//uchar rx_buf[TX_PLOAD_WIDTH];
//uchar tx_buf[TX_PLOAD_WIDTH]={"1234567890abcdefghij"};
//uchar flag;
//uchar rx_com_buffer[10];
//uchar tx_com_buffer[10];

GPIO_InitTypeDef GPIO_InitStructure;



/**************************************************/

void SPI_CS(uchar a){
	if(a==1) GPIO_SetBits(GPIOB, GPIO_Pin_12);	    /*開*/
	else GPIO_ResetBits(GPIOB, GPIO_Pin_12);	    /*關*/
	
}

void SPI_DOUT(uchar a){
	if(a==1) GPIO_SetBits(GPIOB, GPIO_Pin_15);	    /*開*/
	else GPIO_ResetBits(GPIOB, GPIO_Pin_15);		/*關*/
}

void SPI_CLK(uchar a){
	if(a==1) GPIO_SetBits(GPIOB, GPIO_Pin_13);	    /*開*/
	else GPIO_ResetBits(GPIOB, GPIO_Pin_13);		/*關*/
}

void MODE_CE(uchar a){					   /*NRF24L01 模式控制引腳CE*/ 
	if(a==1) GPIO_SetBits(GPIOC, GPIO_Pin_6);	    /*開*/
	else GPIO_ResetBits(GPIOC, GPIO_Pin_6);			/*關*/
}

void SPI2_NRF24L01_Init(void)
{
  SPI_InitTypeDef  SPI_InitStructure;
  GPIO_InitTypeDef GPIO_InitStructure;
   
  /* 使能SPI2,GPIOB時鐘 */
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_SPI2 ,ENABLE);
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
  /* 配置SPI2接口: SCK=PB13,MISO=PB14,MOSI=PB15 */
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;/*復用推挽輸出*/
  GPIO_Init(GPIOB, &GPIO_InitStructure);

  /* 配置PB12推挽輸出模式, 有于片選 */
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;/*推挽輸出*/
  GPIO_Init(GPIOB, &GPIO_InitStructure);

  /*配置NRF24L01模式引腳CE=PC6 */
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;     
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;/*推挽輸出*/
  GPIO_Init(GPIOC, &GPIO_InitStructure);
  
  /*配置NRF24L01 中斷控制引腳IRQ=PB8  */
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;	 
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD;/*輸入下拉*/
  GPIO_Init(GPIOB, &GPIO_InitStructure);
  GPIO_SetBits(GPIOB, GPIO_Pin_8);	    /*開*/
  NotSelect_SDR();

  /* SPI2接口參數配置 */ 
  SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;
  SPI_InitStructure.SPI_Mode = SPI_Mode_Master;
  SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b;
  SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low;
  SPI_InitStructure.SPI_CPHA = SPI_CPHA_1Edge;
  SPI_InitStructure.SPI_NSS = SPI_NSS_Soft;
  SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_16;
  SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB;
  SPI_InitStructure.SPI_CRCPolynomial = 7;
  SPI_Init(SPI2, &SPI_InitStructure);
  
  /* 使能SPI2接口  */
  SPI_Cmd(SPI2, ENABLE);   
}

uchar SPI2_NRF_SendByte(u8 byte)
{
  /* 當DR寄存器不為空時循環 */
  while(SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_TXE) == RESET);
  //NotSelect_Flash();  while(1);
  /* 通過SPI2外設發送數據 */
  SPI_I2S_SendData(SPI2, byte);

  /* 等待接收數據 */
  while(SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_RXNE) == RESET);

  /* 返回從SPI總線讀取的數據 */
  return SPI_I2S_ReceiveData(SPI2);
}


uchar SPI_RW_Reg(unsigned char data1,unsigned char data2) 
{ 
 unsigned int Data = 0,a; 
  
  Select_SDR();
  Data=SPI2_NRF_SendByte(data1);
  SPI2_NRF_SendByte(data2);
  NotSelect_SDR(); 
  return(Data);
 
}  

uchar SPI_Write_Buf(BYTE reg, BYTE *pBuf, BYTE bytes)
{
	uchar status,byte_ctr;

  	Select_SDR();              /* CSN置低, 初始化SPI傳輸*/
  	status=SPI2_NRF_SendByte(reg);
  	
  	for(byte_ctr=0; byte_ctr<bytes; byte_ctr++) /* 將所有字節寫入緩沖*/
    {
		
  		/*發送字節*/  
		SPI2_NRF_SendByte(*pBuf++);
  		//SPI_I2S_SendData(SPI2,*pBuf++); 
	}	
  	NotSelect_SDR();                /*CSN置高 */
  	return(status);          /* 返回nRF24L01 狀態*/
}

/*SPI讀*/
unsigned char SPI_Read(BYTE reg)
{
  unsigned char Data;
  Select_SDR();
  SPI2_NRF_SendByte(reg);
  Data=SPI2_NRF_SendByte(0);
  NotSelect_SDR(); 	
  return (Data); 
}


u8 SPI_Read_Buf(BYTE reg, BYTE *pBuf, BYTE bytes)
{
	uchar status,i;

  	Select_SDR();              /*CSN置低*/
  	status=SPI2_NRF_SendByte(reg);
  	
  	for(i=0; i<bytes; i++) /* 數據寫入緩存 */
    {
		
  		/* 發送字節*/  
		pBuf[i]=SPI2_NRF_SendByte(0);
  		//SPI_I2S_SendData(SPI2,*pBuf++); 
	}	
  	NotSelect_SDR();                /*CSN置高*/ 
  	return(status);          /*返回NRF24L01狀態*/
}

void  SPI_SDR_SendByte1(unsigned int  spi_add,unsigned int  spi_data)
 {
 
  unsigned char  bitcnt,a;  
  
 
  
   SPI_CS(0);	
   for(bitcnt=0;bitcnt<16;bitcnt++)
     {
             
  	   if(((spi_add<<bitcnt)&0x8000)>0) SPI_DOUT(1);
       else  SPI_DOUT(0);
          
       SPI_CLK(0);
       SPI_CLK(1);    
     
	 }
	 
   for(bitcnt=0;bitcnt<16;bitcnt++)
     {
             
  	   if(((spi_data<<bitcnt)&0x8000)>0) SPI_DOUT(1);
          
       else SPI_DOUT(0);
         
       SPI_CLK(0);
       SPI_CLK(1);    
          
     
	 }	 
    SPI_CLK(0);
    SPI_CS(1);	
    
  
 }



unsigned int SPI_SDR_ReadByte1(unsigned int spi_add)
 {
 
  unsigned int  i=0;
  unsigned int  temp8=0;
  
  
  SPI_CS(0);	
  for(i=0;i<16;i++)
   {
             
  	   if(((spi_add<<i)&0x8000)>1)
  	      SPI_DOUT(1);
        
       else
       	  SPI_DOUT(0);	
        
       SPI_CLK(0);
       SPI_CLK(1);
     
	 }
   
   //pPio1->PIO_CODR = SPI_CLK; 
   for(i=0;i<16;i++)
   {  
      SPI_CLK(1);
      SPI_CLK(0);	
      
      temp8=temp8<<1;         
      //if( (pPio1->PIO_PDSR & SPI_IN ) == SPI_IN ) temp8=temp8+1; 
   }   
   SPI_CLK(1);
   SPI_CLK(0);	
   //P_CPLD1->spi_fs=0x01; 
   SPI_CS(1);	
   
    return(temp8);
   
    
 }


/**************************************************
Function: init_io();
Description:
  flash led one time,chip enable(ready to TX or RX Mode),
  Spi disable,Spi clock line init high
/**************************************************/

void init_io(void)
{
	SPI_CS(1);			/*片選置1*/
	MODE_CE(0);			/*CE置0*/	
	//SPI_CLK(0);			// Spi clock line init high
}
/**************************************************/
/*延時函數*/
void delay_ms(unsigned int x)
{
    unsigned int i,j;
    i=0;
    for(i=0;i<x;i++)
    {
       j=108;
       while(j--);
    }
}
/**************************************************/

/**************************************************
Function: SPI_RW();

Description:
  Writes one byte to nRF24L01, and return the byte read
  from nRF24L01 during write, according to SPI protocol
/**************************************************/
/*uchar SPI_RW(uchar byte)
{
	uchar bit_ctr;
   	for(bit_ctr=0;bit_ctr<8;bit_ctr++)   // output 8-bit
   	{
   		MOSI = (byte & 0x80);         // output 'byte', MSB to MOSI
   		byte = (byte << 1);           // shift next bit into MSB..
   		SCK = 1;                      // Set SCK high..
   		byte |= MISO;       		  // capture current MISO bit
   		SCK = 0;            		  // ..then set SCK low again
   	}
    return(byte);           		  // return read byte
} */
/**************************************************/

/**************************************************
Function: SPI_RW_Reg();

Description:
  Writes value 'value' to register 'reg'
/**************************************************/

/**************************************************/


/**************************************************/

/**************************************************
Function: SPI_Read_Buf();

Description:
  Reads 'bytes' #of bytes from register 'reg'
  Typically used to read RX payload, Rx/Tx address
/**************************************************/
/*uchar SPI_Read_Buf(BYTE reg, BYTE *pBuf, BYTE bytes)
{
	uchar status,byte_ctr;

  	CSN = 0;                    		// Set CSN low, init SPI tranaction
  	status = SPI_RW(reg);       		// Select register to write to and read status byte

  	for(byte_ctr=0;byte_ctr<bytes;byte_ctr++)
    	pBuf[byte_ctr] = SPI_RW(0);    // Perform SPI_RW to read byte from nRF24L01

  	CSN = 1;                           // Set CSN high again

  	return(status);                    // return nRF24L01 status byte
} */
/**************************************************/



/**********************************************************************
*函數名: RX_Mode()
*功能描述:初始化NRF24L01到接收模式,設置接收地址,寫有效接收數據寬度
*選擇射頻通道,速率及低噪聲放大器增益,初始化,后CE置高,NRF24L01
*接收數據包準備就緒.
**********************************************************************/
void RX_Mode(void)
{	it_msg=0;
	init_io();	
	/*TX地址*/	
	TX_ADDRESS[0]=0x34;
	TX_ADDRESS[1]=0x43;
	TX_ADDRESS[2]=0x10;
	TX_ADDRESS[3]=0x10;
	TX_ADDRESS[4]=0x01;
	MODE_CE(0);
	 /*收發使用相同的地址*/
  	SPI_Write_Buf(WRITE_REG1 + RX_ADDR_P0, TX_ADDRESS, TX_ADR_WIDTH);
	/*使能自動應答通道0*/
  	SPI_RW_Reg(WRITE_REG1 + EN_AA, 0x01);      
  	SPI_RW_Reg(WRITE_REG1 + EN_RXADDR, 0x01);
	/*選擇射頻通道40*/
  	SPI_RW_Reg(WRITE_REG1 + RF_CH, 40); 
	/*接收/發送有效負載數據長度相等*/       
  	SPI_RW_Reg(WRITE_REG1 + RX_PW_P0, TX_PLOAD_WIDTH);
	/*發射功率:0dBm, 數據速率:2Mbps, 低噪聲放大增益:HCURR */
  	if(nrf_baud==0) SPI_RW_Reg(WRITE_REG1 + RF_SETUP, 0x0f); 
	else SPI_RW_Reg(WRITE_REG1 + RF_SETUP, 0x07);
	/*設置PWR_UP位, 使能CRC(2 bytes)校驗,PRIM_RX位,RX_DR位*/
  	SPI_RW_Reg(WRITE_REG1 + CONFIG, 0x0f);
	
  	MODE_CE(1);/*CE置1,使能接收模式*/ 
    
  //  This device is now ready to receive one packet of 16 bytes payload from a TX device sending to address
  //  '3443101001', with auto acknowledgment, retransmit count of 10, RF channel 40 and datarate = 2Mbps.

}

/**********************************************************************
*函數名: TX_Mode()
*功能描述:初始化NRF24L01到發送模式,設置發送地址,設置接收自動應答功能
*選擇射頻通道,速率及發射功率,使能PWR_UP,PRIM_TX,CRC校驗=2字節初始化,
*CE置高并維持10us,NRF24L01準備發送數據包并接收應答信號.
**********************************************************************/
void TX_Mode(void)
{
	/*模式引腳CE=0*/
	MODE_CE(0);
	/*寫發送地址TX_ADDR到nRF24L01*/
  	SPI_Write_Buf(WRITE_REG1 + TX_ADDR, TX_ADDRESS, TX_ADR_WIDTH);
	/*使能自動應答功能時發送/接收地址須相等*/ 
  	SPI_Write_Buf(WRITE_REG1 + RX_ADDR_P0, TX_ADDRESS, TX_ADR_WIDTH);
  	//SPI_Write_Buf(WR_TX_PLOAD, tx_buf, TX_PLOAD_WIDTH); // Writes data to TX payload
	/*使能通道0自動應答*/
  	SPI_RW_Reg(WRITE_REG1 + EN_AA, 0x01); 
	/*使能通道0*/     
  	SPI_RW_Reg(WRITE_REG1 + EN_RXADDR, 0x01);
	/*500us + 86us, 10次重發*/
  	SPI_RW_Reg(WRITE_REG1 + SETUP_RETR, 0x1a); 
	/*選擇射頻通道40*/ 
  	SPI_RW_Reg(WRITE_REG1 + RF_CH, 40);       
  	/*設置發射功率:0dBm, 數據速率:2Mbps, 低噪聲放大增益:HCURR*/
	if(nrf_baud==0) SPI_RW_Reg(WRITE_REG1 + RF_SETUP, 0x0f);
	else SPI_RW_Reg(WRITE_REG1 + RF_SETUP, 0x07);
	/* 設置PWR_UP位,使能CRC校驗=2字節,PRIM_TX,MAX_RT,TX_DS寄存器位使能*/
  	SPI_RW_Reg(WRITE_REG1 + CONFIG, 0x0e);
	//SPI_RW_Reg(WRITE_REG1+ CONFIG, 0x02);//0x0E);
	MODE_CE(1);

}
  
void NRF24L01_TX(unsigned char * tx_buf)
{
	MODE_CE(0);
	
  	/*自動應答時收發地址相等*/
  	SPI_Write_Buf(WRITE_REG1 + RX_ADDR_P0, TX_ADDRESS, TX_ADR_WIDTH); 
	/*寫數據到TX_PLD*/
  	SPI_Write_Buf(WR_TX_PLOAD, tx_buf, TX_PLOAD_WIDTH);

  	
	MODE_CE(1);

   
}
/**********************************************************************
*函數名: NRF24L01_TXBUF()
*功能描述:發送數據緩沖內容="1234567890abcdefghij ,
*配置發送地址,I/O配置等
**********************************************************************/
void NRF24L01_TXBUF(void)
{
	
	
	uchar a,i=0;  
	TX_ADDRESS[0]=0x34;
	TX_ADDRESS[1]=0x43;
	TX_ADDRESS[2]=0x10;
	TX_ADDRESS[3]=0x10;
	TX_ADDRESS[4]=0x01;

	//TX_ADDRESS[TX_ADR_WIDTH]  = {0x34,0x43,0x10,0x10,0x01};
	init_io();	
	//LED1=1;
	it_msg=0;
	SPI_RW_Reg(WRITE_REG1+STATUS,0xff);
	SPI_RW_Reg(0xe1,0);	
	SPI_RW_Reg(0xe2,0);		    
	TX_Mode();		/* 發送模式* /
	delay_ms(100);
	NRF24L01_TX(tx_buf);
	while(i==0)
	{	
		if(it_msg!=0){
			it_msg=0;	 
			a=SPI_Read(READ_REG1+STATUS);
		    /*發送達到最大重發次數*/ 
			if((a&0x10)>0){					 
				/*清除發送緩沖區*/
				SPI_RW_Reg(0xe1,0);	
				/*清除07寄存器中斷標志*/				 
				SPI_RW_Reg(WRITE_REG1+STATUS,0xff);	 
				 //if(led_flash==1) GPIO_SetBits(GPIOB, GPIO_Pin_5);
				 //else Led_OFF();
				 memcpy(status_buf, "Object NO ACK!      ", 20);
				 i=1;
			}
			else if((a&0x20)>0){/*發射后收到應答*/ 
				/*清除發送緩沖區*/
				SPI_RW_Reg(0xe1,0);	
				/*清除07寄存器中斷標志*/				 
				SPI_RW_Reg(WRITE_REG1+STATUS,0xff);	 
				
				 //if(led_flash==1) GPIO_SetBits(GPIOB, GPIO_Pin_5);
				 //else Led_OFF();
				 memcpy(status_buf, "Send OK!            ", 20);
				 i=1;
			}

		} 


u8 NRF24L01_RxPacket()
{u8 flag=0;
 u8 status;
 	if(it_msg!=0){
		it_msg=0;	 
		 /*讀取狀態寄存其來判斷數據接收狀況*/
		status=SPI_Read(READ_REG1+STATUS);		
		if(status & 0x40)  /*判斷是否接收到數據*/				   
		{	 
		     /*從接收緩沖區讀有效數據*/  
			 SPI_Read_Buf(RD_RX_PLOAD,rx_buf,TX_PLOAD_WIDTH);
		
			 flag =1; /*讀取數據完成標志*/
			 //if(led_flash==1){ Led_ON(); }
		 	 //else if(led_flash==0){ Led_OFF();} 
			 memcpy(status_buf, "Recive OK!            ", 20);
			/*接收到數據后RX_DR,TX_DS,MAX_RT都置高為1,通過寫1來清楚中斷標志*/
			 SPI_RW_Reg(WRITE_REG1+STATUS, status);   
		 }
	}
	
	return flag;
}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本在线播放一区二区三区| 在线观看不卡一区| 色素色在线综合| 26uuu亚洲综合色| 一区二区三区国产精品| 国内精品视频一区二区三区八戒 | 午夜精品久久久久久久99樱桃| 狠狠色狠狠色综合系列| 欧美性猛交xxxxxxxx| 久久精品一区蜜桃臀影院| 亚洲福利视频一区二区| 99久久综合99久久综合网站| 精品国产一区二区精华| 婷婷丁香久久五月婷婷| 色综合久久久久综合| 国产精品理伦片| 黄一区二区三区| 欧美一级免费大片| 日韩精品一级中文字幕精品视频免费观看| 处破女av一区二区| 精品久久一区二区| 青草av.久久免费一区| 欧美日韩中文一区| 亚洲综合免费观看高清在线观看| 成人综合在线网站| 欧美韩国日本综合| 国产成+人+日韩+欧美+亚洲| 欧美精品一区二区在线播放| 久久精品国产免费看久久精品| 欧美日韩一区二区三区四区五区| 亚洲免费视频中文字幕| 成人av小说网| 亚洲欧美日韩国产一区二区三区 | 日韩高清在线电影| 欧美日韩你懂得| 天天操天天综合网| 日韩一区二区三区高清免费看看| 婷婷成人综合网| 日韩一级成人av| 韩国成人精品a∨在线观看| 精品国产乱子伦一区| 精品一区二区久久久| 欧美电视剧在线看免费| 精品在线播放午夜| 国产三级精品视频| 成人福利视频网站| 亚洲精品亚洲人成人网在线播放| 色先锋久久av资源部| 亚洲国产精品久久久久秋霞影院 | 欧美韩日一区二区三区| 97久久人人超碰| 亚洲一区免费在线观看| 制服丝袜av成人在线看| 久久99国产精品免费| 久久综合av免费| 成人av网站大全| 亚洲成av人片在www色猫咪| 91精品国产91久久久久久一区二区 | 欧美成人一区二区三区在线观看| 国产在线不卡一卡二卡三卡四卡| 国产亚洲一区字幕| 99精品欧美一区二区蜜桃免费 | 亚洲精品日韩一| 91精品国产福利| 成人综合在线观看| 日韩影院免费视频| 国产精品视频你懂的| 欧美性色欧美a在线播放| 美女被吸乳得到大胸91| 国产精品国产三级国产aⅴ无密码| 色乱码一区二区三区88| 蜜桃av一区二区三区| 亚洲视频一区二区在线| 欧美一区二区三区视频免费| 福利一区福利二区| 亚洲香肠在线观看| 久久久久成人黄色影片| 欧洲国内综合视频| 国产aⅴ综合色| 视频一区视频二区中文字幕| 中文字幕精品综合| 欧美一级电影网站| 在线亚洲免费视频| 国产91高潮流白浆在线麻豆| 午夜精品国产更新| 亚洲精选视频免费看| 国产欧美日韩另类一区| 日韩一区和二区| 日本久久精品电影| 成人av在线播放网站| 国内精品久久久久影院一蜜桃| 亚洲综合在线免费观看| 国产日韩亚洲欧美综合| 日韩亚洲欧美在线| 欧美日韩国产电影| 色先锋久久av资源部| jvid福利写真一区二区三区| 国产制服丝袜一区| 麻豆一区二区三| 男女男精品网站| 日韩av一区二区在线影视| 亚洲综合色视频| 亚洲精品视频免费观看| 中文字幕制服丝袜一区二区三区| 久久久久久免费毛片精品| 日韩欧美不卡一区| 91麻豆精品国产91久久久久久| 欧美视频中文一区二区三区在线观看| 粉嫩嫩av羞羞动漫久久久| 国产在线播放一区二区三区| 久久国内精品自在自线400部| 午夜欧美大尺度福利影院在线看| 综合激情成人伊人| 亚洲欧洲av在线| 成人免费小视频| 亚洲免费观看高清完整| 亚洲在线观看免费| 亚洲动漫第一页| 亚洲成人7777| 免费成人你懂的| 老司机精品视频一区二区三区| 麻豆国产欧美日韩综合精品二区 | 2020国产精品自拍| 久久人人爽人人爽| 国产精品美女久久久久久2018| 亚洲国产电影在线观看| 国产精品三级久久久久三级| 国产精品久久免费看| 亚洲人精品午夜| 亚洲大尺度视频在线观看| 日韩精品福利网| 久久草av在线| 成人看片黄a免费看在线| www.99精品| 欧美三级日韩三级| 欧美一级理论性理论a| 国产亚洲精品aa| 亚洲黄色尤物视频| 婷婷六月综合亚洲| 国产丶欧美丶日本不卡视频| 成人av在线播放网址| 欧美三区免费完整视频在线观看| 91精品国产综合久久香蕉麻豆 | 在线综合视频播放| 日韩一区二区精品| 久久久久九九视频| 亚洲欧美日韩系列| 日韩高清不卡一区二区三区| 欧美浪妇xxxx高跟鞋交| 香港成人在线视频| 亚洲精品中文在线影院| 亚洲123区在线观看| 国产剧情一区二区| 一本色道久久综合精品竹菊| 日韩一区二区三区四区五区六区 | 狠狠久久亚洲欧美| 成人免费看的视频| 欧美日本国产一区| 久久精品人人做人人爽97| 一区二区三区在线视频免费观看| 免播放器亚洲一区| 91丨porny丨首页| 精品美女一区二区| 一区二区久久久久| 国产精品88888| 91精品国产色综合久久久蜜香臀| 国产日韩欧美亚洲| 丝袜美腿亚洲一区| 91视频xxxx| 欧美精品一区二区三区很污很色的 | 久久精品在线免费观看| 天天色天天爱天天射综合| 99热99精品| 久久久国产精华| 蜜臀久久99精品久久久画质超高清| 99视频精品在线| 国产日韩综合av| 国内国产精品久久| 91.xcao| 亚洲精品国产一区二区精华液| 国产成人精品影院| 日韩精品一区在线| 婷婷久久综合九色综合绿巨人| 色婷婷狠狠综合| 国产精品成人免费| 成人一区二区在线观看| 亚洲天堂网中文字| 国产一区二区三区在线观看免费视频| 欧美在线观看18| 亚洲欧美另类久久久精品| 国产99久久久精品| 国产亚洲女人久久久久毛片| 韩日精品视频一区| 亚洲精品在线观| 久久66热re国产| 久久亚洲捆绑美女| 国产一区二区三区在线观看精品 | 一区二区三区国产精华| 91美女福利视频| 亚洲免费观看高清完整版在线 |