久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2279|回復: 2
打印 上一主題 下一主題
收起左側

為什么標準庫的代碼用HAL庫就不行了?

[復制鏈接]
跳轉到指定樓層
樓主
ID:902592 發表于 2021-5-24 15:30 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
用標準庫的代碼可以正常驅動ILI9341,把代碼粘貼到HAL的工程里就不行了,這是為什么?那位大佬幫忙看下
ILI9341.7z (252.02 KB, 下載次數: 2)

//8位模式接線:8位模式9341模塊接高8位總線,即:
//液晶屏LCD_D0對應單片機PA0
//液晶屏LCD_D1對應單片機PA1
//液晶屏LCD_D2對應單片機PA2
//液晶屏LCD_D3對應單片機PA3
//液晶屏LCD_D4對應單片機PA4
//液晶屏LCD_D5對應單片機PA5
//液晶屏LCD_D6對應單片機PA6
//液晶屏LCD_D7對應單片機PA7

//LCD_RST  接PB9        //復位信號
//LCD_CS         接PB8        //片選信號
//LCD_RS         接PB7        //寄存器/數據選擇信號
//LCD_WR         接PB6        //寫信號
//LCD_RD         接PB5        //讀信號



MAIN.C
  1. /* USER CODE BEGIN Header */
  2. /**
  3.   ******************************************************************************
  4.   * @file           : main.c
  5.   * @brief          : Main program body
  6.   ******************************************************************************
  7.   * @attention
  8.   *
  9.   * <h2><center>© Copyright (c) 2021 STMicroelectronics.
  10.   * All rights reserved.</center></h2>
  11.   *
  12.   * This software component is licensed by ST under BSD 3-Clause license,
  13.   * the "License"; You may not use this file except in compliance with the
  14.   * License. You may obtain a copy of the License at:
  15.   *                        opensource.org/licenses/BSD-3-Clause
  16.   *
  17.   ******************************************************************************
  18.   */
  19. /* USER CODE END Header */
  20. /* Includes ------------------------------------------------------------------*/
  21. #include "main.h"
  22. #include "usart.h"
  23. #include "gpio.h"

  24. /* Private includes ----------------------------------------------------------*/
  25. /* USER CODE BEGIN Includes */

  26. /* USER CODE END Includes */

  27. /* Private typedef -----------------------------------------------------------*/
  28. /* USER CODE BEGIN PTD */
  29. void LCD_Init(void);

  30. void LCD_SetParam(void);
  31. void LCD_RESET(void);
  32. void LCD_WR_REG(uint8_t data);
  33. void LCD_WR_DATA(uint16_t data);

  34. void LCD_Fill(uint16_t sx,uint16_t sy,uint16_t ex,uint16_t ey,uint16_t color);
  35. void LCD_SetWindows(uint16_t xStar, uint16_t yStar,uint16_t xEnd,uint16_t yEnd);
  36. void LCD_WriteRAM_Prepare(void);

  37. void LCD_Clear(uint16_t Color);

  38. /* USER CODE END PTD */

  39. /* Private define ------------------------------------------------------------*/
  40. /* USER CODE BEGIN PD */
  41. #define WHITE       0xFFFF
  42. #define BLACK              0x0000         
  43. #define BLUE               0x001F  
  44. #define BRED        0XF81F
  45. #define GRED                                  0XFFE0
  46. #define GBLUE                                 0X07FF
  47. #define RED         0xF800
  48. #define MAGENTA     0xF81F
  49. #define GREEN       0x07E0
  50. #define CYAN        0x7FFF
  51. #define YELLOW      0xFFE0
  52. #define BROWN                         0XBC40 //棕色
  53. #define BRRED                         0XFC07 //棕紅色
  54. #define GRAY                          0X8430 //灰色
  55. /* USER CODE END PD */

  56. /* Private macro -------------------------------------------------------------*/
  57. /* USER CODE BEGIN PM */

  58. /* USER CODE END PM */

  59. /* Private variables ---------------------------------------------------------*/

  60. /* USER CODE BEGIN PV */
  61. #define        LCD_CS_SET  GPIOB->BSRR=1<<8    //片選端口          PB8
  62. #define        LCD_RS_SET        GPIOB->BSRR=1<<7    //數據/命令           PB7           
  63. #define        LCD_WR_SET        GPIOB->BSRR=1<<6    //寫數據                PB6
  64. #define        LCD_RD_SET        GPIOB->BSRR=1<<5    //讀數據                PB5
  65. #define        LCD_RST_SET        GPIOB->BSRR=1<<9    //復位                        PB9
  66.                                                                     
  67. #define        LCD_CS_CLR  GPIOB->BRR=1<<8     //片選端口          PB8
  68. #define        LCD_RS_CLR        GPIOB->BRR=1<<7     //數據/命令          PB7           
  69. #define        LCD_WR_CLR        GPIOB->BRR=1<<6     //寫數據                PB6
  70. #define        LCD_RD_CLR        GPIOB->BRR=1<<5     //讀數據                PB5
  71. #define        LCD_RST_CLR        GPIOB->BRR=1<<9    //復位                        PB9               

  72. #define DATAOUT(x) GPIOA->ODR=x>>8; //數據輸出
  73. #define DATAIN     GPIOA->IDR;   //數據輸入

  74. #define USE_HORIZONTAL          1        //定義是否使用橫屏                 0,不使用.1,使用.
  75. #define LCD_USE8BIT_MODEL   1    //定義數據總線是否使用8位模式 0,使用16位模式.1,使用8位模式

  76. //LCD重要參數集
  77. typedef struct  
  78. {                                                                                    
  79.         uint16_t width;                        //LCD 寬度
  80.         uint16_t height;                        //LCD 高度
  81.         uint16_t id;                                //LCD ID
  82.         uint8_t  dir;                        //橫屏還是豎屏控制:0,豎屏;1,橫屏。        
  83.         uint16_t         wramcmd;                //開始寫gram指令
  84.         uint16_t  setxcmd;                //設置x坐標指令
  85.         uint16_t  setycmd;                //設置y坐標指令         
  86. }_lcd_dev;         

  87. //LCD參數
  88. _lcd_dev lcddev;        //管理LCD重要參數

  89. #define LCD_W 320
  90. #define LCD_H 240


  91. //TFTLCD部分外要調用的函數                  
  92. extern uint16_t  POINT_COLOR;//默認紅色   
  93. extern uint16_t  BACK_COLOR; //背景顏色.默認為白色

  94. /* USER CODE END PV */

  95. /* Private function prototypes -----------------------------------------------*/
  96. void SystemClock_Config(void);
  97. /* USER CODE BEGIN PFP */

  98. /* USER CODE END PFP */

  99. /* Private user code ---------------------------------------------------------*/
  100. /* USER CODE BEGIN 0 */

  101. /* USER CODE END 0 */

  102. /**
  103.   * @brief  The application entry point.
  104.   * @retval int
  105.   */
  106. int main(void)
  107. {
  108.   /* USER CODE BEGIN 1 */

  109.   /* USER CODE END 1 */

  110.   /* MCU Configuration--------------------------------------------------------*/

  111.   /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  112.   HAL_Init();

  113.   /* USER CODE BEGIN Init */

  114.   /* USER CODE END Init */

  115.   /* Configure the system clock */
  116.   SystemClock_Config();

  117.   /* USER CODE BEGIN SysInit */

  118.   /* USER CODE END SysInit */

  119.   /* Initialize all configured peripherals */
  120.   MX_GPIO_Init();
  121.   MX_USART1_UART_Init();
  122.   /* USER CODE BEGIN 2 */

  123.         LCD_Init();           //液晶屏初始化
  124.         HAL_Delay(120);
  125.         LCD_Clear(RED);
  126.   /* USER CODE END 2 */

  127.   /* Infinite loop */
  128.   /* USER CODE BEGIN WHILE */
  129.   while (1)
  130.   {
  131.     /* USER CODE END WHILE */

  132.     /* USER CODE BEGIN 3 */
  133.   }
  134.   /* USER CODE END 3 */
  135. }

  136. /**
  137.   * @brief System Clock Configuration
  138.   * @retval None
  139.   */
  140. void SystemClock_Config(void)
  141. {
  142.   RCC_OscInitTypeDef RCC_OscInitStruct = {0};
  143.   RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};

  144.   /** Initializes the RCC Oscillators according to the specified parameters
  145.   * in the RCC_OscInitTypeDef structure.
  146.   */
  147.   RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
  148.   RCC_OscInitStruct.HSEState = RCC_HSE_ON;
  149.   RCC_OscInitStruct.HSEPredivValue = RCC_HSE_PREDIV_DIV1;
  150.   RCC_OscInitStruct.HSIState = RCC_HSI_ON;
  151.   RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
  152.   RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
  153.   RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL9;
  154.   if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
  155.   {
  156.     Error_Handler();
  157.   }
  158.   /** Initializes the CPU, AHB and APB buses clocks
  159.   */
  160.   RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
  161.                               |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
  162.   RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
  163.   RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
  164.   RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2;
  165.   RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;

  166.   if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK)
  167.   {
  168.     Error_Handler();
  169.   }
  170. }

  171. /* USER CODE BEGIN 4 */

  172. void LCD_Init()
  173. {
  174.         LCD_RESET();
  175.         HAL_Delay(120);

  176.         //************* Start Initial Sequence **********//               
  177.         LCD_WR_REG(0xCF);  
  178.         LCD_WR_DATA(0x00);
  179.         LCD_WR_DATA(0xC1);
  180.         LCD_WR_DATA(0X30);
  181.         LCD_WR_REG(0xED);  
  182.         LCD_WR_DATA(0x64);
  183.         LCD_WR_DATA(0x03);
  184.         LCD_WR_DATA(0X12);
  185.         LCD_WR_DATA(0X81);
  186.         LCD_WR_REG(0xE8);  
  187.         LCD_WR_DATA(0x85);
  188.         LCD_WR_DATA(0x10);
  189.         LCD_WR_DATA(0x7A);
  190.         LCD_WR_REG(0xCB);  
  191.         LCD_WR_DATA(0x39);
  192.         LCD_WR_DATA(0x2C);
  193.         LCD_WR_DATA(0x00);
  194.         LCD_WR_DATA(0x34);
  195.         LCD_WR_DATA(0x02);
  196.         LCD_WR_REG(0xF7);  
  197.         LCD_WR_DATA(0x20);
  198.         LCD_WR_REG(0xEA);  
  199.         LCD_WR_DATA(0x00);
  200.         LCD_WR_DATA(0x00);
  201.         LCD_WR_REG(0xC0);    //Power control
  202.         LCD_WR_DATA(0x1B);   //VRH[5:0]
  203.         LCD_WR_REG(0xC1);    //Power control
  204.         LCD_WR_DATA(0x01);   //SAP[2:0];BT[3:0]
  205.         LCD_WR_REG(0xC5);    //VCM control
  206.         LCD_WR_DATA(0x30);          //3F
  207.         LCD_WR_DATA(0x30);          //3C
  208.         LCD_WR_REG(0xC7);    //VCM control2
  209.         LCD_WR_DATA(0XB7);
  210.         LCD_WR_REG(0x36);    // Memory Access Control
  211.         LCD_WR_DATA(0x48);
  212.         LCD_WR_REG(0x3A);   
  213.         LCD_WR_DATA(0x55);
  214.         LCD_WR_REG(0xB1);   
  215.         LCD_WR_DATA(0x00);   
  216.         LCD_WR_DATA(0x1A);
  217.         LCD_WR_REG(0xB6);    // Display Function Control
  218.         LCD_WR_DATA(0x0A);
  219.         LCD_WR_DATA(0xA2);
  220.         LCD_WR_REG(0xF2);    // 3Gamma Function Disable
  221.         LCD_WR_DATA(0x00);
  222.         LCD_WR_REG(0x26);    //Gamma curve selected
  223.         LCD_WR_DATA(0x01);
  224.         LCD_WR_REG(0xE0);    //Set Gamma
  225.         LCD_WR_DATA(0x0F);
  226.         LCD_WR_DATA(0x2A);
  227.         LCD_WR_DATA(0x28);
  228.         LCD_WR_DATA(0x08);
  229.         LCD_WR_DATA(0x0E);
  230.         LCD_WR_DATA(0x08);
  231.         LCD_WR_DATA(0x54);
  232.         LCD_WR_DATA(0XA9);
  233.         LCD_WR_DATA(0x43);
  234.         LCD_WR_DATA(0x0A);
  235.         LCD_WR_DATA(0x0F);
  236.         LCD_WR_DATA(0x00);
  237.         LCD_WR_DATA(0x00);
  238.         LCD_WR_DATA(0x00);
  239.         LCD_WR_DATA(0x00);                  
  240.         LCD_WR_REG(0XE1);    //Set Gamma
  241.         LCD_WR_DATA(0x00);
  242.         LCD_WR_DATA(0x15);
  243.         LCD_WR_DATA(0x17);
  244.         LCD_WR_DATA(0x07);
  245.         LCD_WR_DATA(0x11);
  246.         LCD_WR_DATA(0x06);
  247.         LCD_WR_DATA(0x2B);
  248.         LCD_WR_DATA(0x56);
  249.         LCD_WR_DATA(0x3C);
  250.         LCD_WR_DATA(0x05);
  251.         LCD_WR_DATA(0x10);
  252.         LCD_WR_DATA(0x0F);
  253.         LCD_WR_DATA(0x3F);
  254.         LCD_WR_DATA(0x3F);
  255.         LCD_WR_DATA(0x0F);
  256.         LCD_WR_REG(0x2B);
  257.         LCD_WR_DATA(0x00);
  258.         LCD_WR_DATA(0x00);
  259.         LCD_WR_DATA(0x01);
  260.         LCD_WR_DATA(0x3f);
  261.         LCD_WR_REG(0x2A);
  262.         LCD_WR_DATA(0x00);
  263.         LCD_WR_DATA(0x00);
  264.         LCD_WR_DATA(0x00);
  265.         LCD_WR_DATA(0xef);         
  266.         LCD_WR_REG(0x11); //Exit Sleep
  267.         HAL_Delay(120);
  268.         LCD_WR_REG(0x29); //display on        
  269.         
  270.         LCD_SetParam();
  271. }

  272. void LCD_SetParam(void)
  273. {
  274.         lcddev.wramcmd=0x2C;
  275.         lcddev.dir=1;//橫屏
  276.         lcddev.width=LCD_W;
  277.         lcddev.height=LCD_H;
  278.         lcddev.setxcmd=0x2A;
  279.         lcddev.setycmd=0x2B;        
  280. }

  281. void LCD_RESET(void)
  282. {
  283.         LCD_RST_CLR;
  284.         HAL_Delay(150);        
  285.         LCD_RST_SET;
  286.         HAL_Delay(50);
  287. }

  288. void LCD_WR_REG(uint8_t data)
  289. {
  290.         LCD_RS_CLR;
  291.         LCD_CS_CLR;
  292.         DATAOUT(data<<8);
  293.         LCD_WR_CLR;
  294.         LCD_WR_SET;
  295.         LCD_CS_SET;
  296. }

  297. void LCD_WR_DATA(uint16_t data)
  298. {
  299.         LCD_RS_SET;
  300.         LCD_CS_CLR;
  301.         DATAOUT(data<<8);
  302.         LCD_WR_CLR;
  303.         LCD_WR_SET;
  304.         LCD_CS_SET;
  305. }

  306. void LCD_SetWindows(uint16_t xStar, uint16_t yStar,uint16_t xEnd,uint16_t yEnd)
  307. {        
  308.         LCD_WR_REG(lcddev.setxcmd);        
  309.         LCD_WR_DATA(xStar>>8);
  310.         LCD_WR_DATA(0x00FF&xStar);               
  311.         LCD_WR_DATA(xEnd>>8);
  312.         LCD_WR_DATA(0x00FF&xEnd);

  313.         LCD_WR_REG(lcddev.setycmd);        
  314.         LCD_WR_DATA(yStar>>8);
  315.         LCD_WR_DATA(0x00FF&yStar);               
  316.         LCD_WR_DATA(yEnd>>8);
  317.         LCD_WR_DATA(0x00FF&yEnd);        

  318.         LCD_WriteRAM_Prepare();        //開始寫入GRAM                                
  319. }


  320. void LCD_WriteRAM_Prepare(void)
  321. {
  322.         LCD_WR_REG(lcddev.wramcmd);
  323. }         


  324. void LCD_Clear(uint16_t Color)
  325. {
  326.         uint32_t index=0;      
  327.         LCD_SetWindows(0,0,lcddev.width-1,lcddev.height-1);        

  328.         LCD_RS_SET;//寫數據
  329.         LCD_CS_CLR;           
  330.         for(index=0;index<lcddev.width*lcddev.height;index++)
  331.         {
  332.                 DATAOUT(Color);        
  333.                 LCD_WR_CLR;
  334.                 LCD_WR_SET;        
  335.                
  336.                 DATAOUT(Color<<8);        
  337.                 LCD_WR_CLR;
  338.                 LCD_WR_SET;           
  339.         }
  340.         LCD_CS_SET;        
  341. }

  342. /* USER CODE END 4 */

  343. /**
  344.   * @brief  This function is executed in case of error occurrence.
  345.   * @retval None
  346.   */
  347. void Error_Handler(void)
  348. {
  349.   /* USER CODE BEGIN Error_Handler_Debug */
  350.   /* User can add his own implementation to report the HAL error return state */
  351.   __disable_irq();
  352.   while (1)
  353.   {
  354.   }
  355.   /* USER CODE END Error_Handler_Debug */
  356. }

  357. #ifdef  USE_FULL_ASSERT
  358. /**
  359.   * @brief  Reports the name of the source file and the source line number
  360.   *         where the assert_param error has occurred.
  361.   * @param  file: pointer to the source file name
  362.   * @param  line: assert_param error line source number
  363.   * @retval None
  364.   */
  365. void assert_failed(uint8_t *file, uint32_t line)
  366. {
  367.   /* USER CODE BEGIN 6 */
  368.   /* User can add his own implementation to report the file name and line number,
  369.      ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
  370.   /* USER CODE END 6 */
  371. }
  372. #endif /* USE_FULL_ASSERT */

  373. /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
復制代碼

GPIO.C
  1. /**
  2.   ******************************************************************************
  3.   * @file    gpio.c
  4.   * @brief   This file provides code for the configuration
  5.   *          of all used GPIO pins.
  6.   ******************************************************************************
  7.   * @attention
  8.   *
  9.   * <h2><center>© Copyright (c) 2021 STMicroelectronics.
  10.   * All rights reserved.</center></h2>
  11.   *
  12.   * This software component is licensed by ST under BSD 3-Clause license,
  13.   * the "License"; You may not use this file except in compliance with the
  14.   * License. You may obtain a copy of the License at:
  15.   *                        opensource.org/licenses/BSD-3-Clause
  16.   *
  17.   ******************************************************************************
  18.   */

  19. /* Includes ------------------------------------------------------------------*/
  20. #include "gpio.h"

  21. /* USER CODE BEGIN 0 */

  22. /* USER CODE END 0 */

  23. /*----------------------------------------------------------------------------*/
  24. /* Configure GPIO                                                             */
  25. /*----------------------------------------------------------------------------*/
  26. /* USER CODE BEGIN 1 */

  27. /* USER CODE END 1 */

  28. /** Configure pins as
  29.         * Analog
  30.         * Input
  31.         * Output
  32.         * EVENT_OUT
  33.         * EXTI
  34. */
  35. void MX_GPIO_Init(void)
  36. {

  37.   GPIO_InitTypeDef GPIO_InitStruct = {0};

  38.   /* GPIO Ports Clock Enable */
  39.   __HAL_RCC_GPIOD_CLK_ENABLE();
  40.   __HAL_RCC_GPIOA_CLK_ENABLE();
  41.   __HAL_RCC_GPIOB_CLK_ENABLE();

  42.   /*Configure GPIO pin Output Level */
  43.   HAL_GPIO_WritePin(GPIOA, LCD_D0_Pin|LCD_D1_Pin|LCD_D2_Pin|LCD_D3_Pin
  44.                           |LCD_D4_Pin|LCD_D5_Pin|LCD_D6_Pin|LCD_D7_Pin, GPIO_PIN_RESET);

  45.   /*Configure GPIO pin Output Level */
  46.   HAL_GPIO_WritePin(GPIOB, LCD_RD_Pin|LCD_WR_Pin|LCD_RS_Pin|LCD_CS_Pin
  47.                           |LCD_RST_Pin, GPIO_PIN_RESET);

  48.   /*Configure GPIO pins : PAPin PAPin PAPin PAPin
  49.                            PAPin PAPin PAPin PAPin */
  50.   GPIO_InitStruct.Pin = LCD_D0_Pin|LCD_D1_Pin|LCD_D2_Pin|LCD_D3_Pin
  51.                           |LCD_D4_Pin|LCD_D5_Pin|LCD_D6_Pin|LCD_D7_Pin;
  52.   GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
  53.   GPIO_InitStruct.Pull = GPIO_NOPULL;
  54.   GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
  55.   HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);

  56.   /*Configure GPIO pins : PBPin PBPin PBPin PBPin
  57.                            PBPin */
  58.   GPIO_InitStruct.Pin = LCD_RD_Pin|LCD_WR_Pin|LCD_RS_Pin|LCD_CS_Pin
  59.                           |LCD_RST_Pin;
  60.   GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
  61.   GPIO_InitStruct.Pull = GPIO_NOPULL;
  62.   GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
  63.   HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);

  64. }

  65. /* USER CODE BEGIN 2 */

  66. /* USER CODE END 2 */

  67. /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
復制代碼
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:341589 發表于 2021-5-28 09:09 | 只看該作者
因為他們對底層的封裝函數不同  當然不能用滴
回復

使用道具 舉報

板凳
ID:82098 發表于 2022-3-31 19:59 | 只看該作者
請教!如何修改?
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久亚洲欧美日韩精品专区 | 91国内产香蕉 | 欧美成人猛片aaaaaaa | 人人看人人干 | 天堂在线中文 | 一级大片 | 亚洲视频在线一区 | 韩国电影久久 | 午夜视频在线免费观看 | 国产亚洲一区二区三区 | 日韩精品一二三 | 国产高清视频 | 国产美女在线精品免费 | 成人精品免费 | 97国产精品 | 日韩中文字幕免费在线 | 激情五月综合 | 成人免费看片又大又黄 | 免费视频一区 | 中文字幕日韩欧美一区二区三区 | 日一日操一操 | 99热在这里只有精品 | 欧洲视频一区二区 | 婷婷成人在线 | 日韩免费看视频 | 日韩中文字幕 | 在线观看中文字幕 | 在线观看av网站永久 | 国产伦精品一区二区三区视频金莲 | 天天草夜夜骑 | 国产亚洲精品精品国产亚洲综合 | 色视频在线播放 | 视频在线一区二区 | 免费激情网站 | 免费看国产一级特黄aaaa大片 | 久久久久久91香蕉国产 | 国产一级视频在线播放 | 黄视频网址 | 91免费福利视频 | jlzzjlzz国产精品久久 | 久草网在线视频 |