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

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

?? lcd.c

?? 最新版FreeRTOS, 包擴多種開發平臺的移植
?? C
?? 第 1 頁 / 共 4 頁
字號:
/******************** (C) COPYRIGHT 2006 STMicroelectronics ********************
* File Name          : lcd.c
* Author             : MCD Application Team
* Date First Issued  : 05/18/2006 : Version 1.0
* Description        : This file includes the LCD driver for GXM12232-2SL liquid
*                      Crystal Display Module of STR75x-EVAL.
********************************************************************************
* History:
* 05/24/2006 : Version 1.1
* 05/18/2006 : Version 1.0
********************************************************************************
* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
* CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
*******************************************************************************/

/* Includes ------------------------------------------------------------------*/
#include "91x_lib.h"
#include "lcd.h"
#include "FreeRTOS.h"
#include "task.h"

/* Private typedef -----------------------------------------------------------*/
static GPIO_InitTypeDef GPIO_InitStructure;

/* Private define ------------------------------------------------------------*/
/* Private macro -------------------------------------------------------------*/
/* Private variables ---------------------------------------------------------*/
  /* Global variable to set the written text color: used for LCD_Printf */
  TextColorMode_TypeDef TextMode=BlackText;

  /* ASCII Table: each character is 7 column (7dots large) on two pages (16dots high)  */
  /* 7 column character: Two 8bit data to display one column*/
  u8 AsciiDotsTable[1778] = {
  /* ASCII 0   */  0x1f,0xe0,0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0x1f,0xe0,0x00,0x00,
  /* ASCII 1   */  0x1f,0xe0,0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0x1f,0xe0,0x00,0x00,
  /* ASCII 2   */  0x1f,0xe0,0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0x1f,0xe0,0x00,0x00,
  /* ASCII 3   */  0x1f,0xe0,0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0x1f,0xe0,0x00,0x00,
  /* ASCII 4   */  0x1f,0xe0,0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0x1f,0xe0,0x00,0x00,
  /* ASCII 5   */  0x1f,0xe0,0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0x1f,0xe0,0x00,0x00,
  /* ASCII 6   */  0x1f,0xe0,0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0x1f,0xe0,0x00,0x00,
  /* ASCII 7   */  0x1f,0xe0,0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0x1f,0xe0,0x00,0x00,
  /* ASCII 8   */  0x1f,0xe0,0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0x1f,0xe0,0x00,0x00,
  /* ASCII 9   */  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  /* ASCII 10  */  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  /* ASCII 11  */  0x1f,0xe0,0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0x1f,0xe0,0x00,0x00,
  /* ASCII 12  */  0x1f,0xe0,0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0x1f,0xe0,0x00,0x00,
  /* ASCII 13  */  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  /* ASCII 14  */  0x1f,0xe0,0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0x1f,0xe0,0x00,0x00,
  /* ASCII 15  */  0x1f,0xe0,0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0x1f,0xe0,0x00,0x00,
  /* ASCII 16  */  0x1f,0xe0,0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0x1f,0xe0,0x00,0x00,
  /* ASCII 17  */  0x1f,0xe0,0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0x1f,0xe0,0x00,0x00,
  /* ASCII 18  */  0x1f,0xe0,0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0x1f,0xe0,0x00,0x00,
  /* ASCII 19  */  0x1f,0xe0,0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0x1f,0xe0,0x00,0x00,
  /* ASCII 20  */  0x1f,0xe0,0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0x1f,0xe0,0x00,0x00,
  /* ASCII 21  */  0x1f,0xe0,0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0x1f,0xe0,0x00,0x00,
  /* ASCII 22  */  0x1f,0xe0,0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0x1f,0xe0,0x00,0x00,
  /* ASCII 23  */  0x1f,0xe0,0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0x1f,0xe0,0x00,0x00,
  /* ASCII 24  */  0x1f,0xe0,0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0x1f,0xe0,0x00,0x00,
  /* ASCII 25  */  0x1f,0xe0,0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0x1f,0xe0,0x00,0x00,
  /* ASCII 26  */  0x1f,0xe0,0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0x1f,0xe0,0x00,0x00,
  /* ASCII 27  */  0x1f,0xe0,0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0x1f,0xe0,0x00,0x00,
  /* ASCII 28  */  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  /* ASCII 29  */  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  /* ASCII 30  */  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  /* ASCII 31  */  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  /* ASCII 32  */  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  /* ASCII 33  */  0x00,0x00,0x00,0x00,0x00,0x00,0x13,0xe0,0x00,0x00,0x00,0x00,0x00,0x00,
  /* ASCII 34  */  0x00,0x00,0x00,0xe0,0x00,0x20,0x00,0x00,0x00,0xe0,0x00,0x20,0x00,0x00,
  /* ASCII 35  */  0x00,0x00,0x35,0x00,0x0f,0x80,0x35,0x60,0x0f,0x80,0x05,0x60,0x00,0x00,
  /* ASCII 36  */  0x00,0x00,0x0d,0x80,0x0a,0x40,0x3a,0x60,0x06,0x40,0x00,0x00,0x00,0x00,
  /* ASCII 37  */  0x00,0x00,0x02,0x40,0x02,0xa0,0x0a,0x40,0x15,0x00,0x09,0x00,0x00,0x00,
  /* ASCII 38  */  0x00,0x00,0x0c,0x00,0x13,0x00,0x14,0x80,0x08,0x80,0x14,0x00,0x00,0x00,
  /* ASCII 39  */  0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xe0,0x00,0x00,0x00,0x00,0x00,0x00,
  /* ASCII 40  */  0x00,0x00,0x00,0x00,0x00,0x00,0x1f,0x80,0x60,0x60,0x00,0x00,0x00,0x00,
  /* ASCII 41  */  0x00,0x00,0x00,0x00,0x60,0x60,0x1f,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
  /* ASCII 42  */  0x00,0x00,0x00,0x40,0x03,0x40,0x00,0xe0,0x03,0x40,0x00,0x40,0x00,0x00,
  /* ASCII 43  */  0x02,0x00,0x02,0x00,0x02,0x00,0x1f,0xc0,0x02,0x00,0x02,0x00,0x02,0x00,
  /* ASCII 44  */  0x00,0x00,0x00,0x00,0x60,0x00,0x38,0x00,0x08,0x00,0x00,0x00,0x00,0x00,
  /* ASCII 45  */  0x00,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x00,0x00,
  /* ASCII 46  */  0x00,0x00,0x00,0x00,0x18,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  /* ASCII 47  */  0x00,0x00,0x20,0x00,0x18,0x00,0x06,0x00,0x01,0x80,0x00,0x60,0x00,0x00,
  /* ASCII 48  */  0x00,0x00,0x0f,0xc0,0x10,0x20,0x10,0x20,0x10,0x20,0x0f,0xc0,0x00,0x00,
  /* ASCII 49  */  0x00,0x00,0x10,0x00,0x10,0x20,0x1f,0xe0,0x10,0x00,0x10,0x00,0x00,0x00,
  /* ASCII 50  */  0x00,0x00,0x18,0x40,0x14,0x20,0x12,0x20,0x11,0x20,0x18,0xc0,0x00,0x00,
  /* ASCII 51  */  0x00,0x00,0x08,0x40,0x10,0x20,0x11,0x20,0x11,0x20,0x0e,0xc0,0x00,0x00,
  /* ASCII 52  */  0x00,0x00,0x06,0x00,0x05,0x00,0x04,0xc0,0x14,0x20,0x1f,0xe0,0x14,0x00,
  /* ASCII 53  */  0x00,0x00,0x08,0x00,0x11,0xe0,0x11,0x20,0x11,0x20,0x0e,0x20,0x00,0x00,
  /* ASCII 54  */  0x00,0x00,0x0f,0x80,0x11,0x40,0x11,0x20,0x11,0x20,0x0e,0x20,0x00,0x00,
  /* ASCII 55  */  0x00,0x00,0x00,0x60,0x00,0x20,0x18,0x20,0x07,0x20,0x00,0xe0,0x00,0x00,
  /* ASCII 56  */  0x00,0x00,0x0e,0xc0,0x11,0x20,0x11,0x20,0x11,0x20,0x0e,0xc0,0x00,0x00,
  /* ASCII 57  */  0x00,0x00,0x11,0xc0,0x12,0x20,0x12,0x20,0x0a,0x20,0x07,0xc0,0x00,0x00,
  /* ASCII 58  */  0x00,0x00,0x00,0x00,0x19,0x80,0x19,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
  /* ASCII 59  */  0x00,0x00,0x00,0x00,0x30,0x00,0x19,0x80,0x09,0x80,0x00,0x00,0x00,0x00,
  /* ASCII 60  */  0x02,0x00,0x05,0x00,0x05,0x00,0x08,0x80,0x10,0x40,0x10,0x40,0x00,0x00,
  /* ASCII 61  */  0x00,0x00,0x05,0x00,0x05,0x00,0x05,0x00,0x05,0x00,0x05,0x00,0x00,0x00,
  /* ASCII 62  */  0x10,0x40,0x10,0x40,0x08,0x80,0x05,0x00,0x05,0x00,0x02,0x00,0x00,0x00,
  /* ASCII 63  */  0x00,0x00,0x00,0x00,0x10,0x80,0x14,0x40,0x02,0x40,0x01,0x80,0x00,0x00,
  /* ASCII 64  */  0x00,0x00,0x1f,0xe0,0x20,0x10,0x23,0x10,0x24,0x90,0x17,0xe0,0x00,0x00,
  /* ASCII 65  */  0x10,0x00,0x1c,0x00,0x17,0xa0,0x04,0x60,0x17,0x80,0x1c,0x00,0x10,0x00,
  /* ASCII 66  */  0x10,0x20,0x1f,0xe0,0x11,0x20,0x11,0x20,0x11,0x20,0x0e,0xc0,0x00,0x00,
  /* ASCII 67  */  0x00,0x00,0x0f,0xc0,0x10,0x20,0x10,0x20,0x10,0x20,0x08,0x60,0x00,0x00,
  /* ASCII 68  */  0x10,0x20,0x1f,0xe0,0x10,0x20,0x10,0x20,0x08,0x40,0x07,0x80,0x00,0x00,
  /* ASCII 69  */  0x10,0x20,0x1f,0xe0,0x11,0x20,0x13,0xa0,0x10,0x20,0x18,0x60,0x00,0x00,
  /* ASCII 70  */  0x00,0x00,0x10,0x20,0x1f,0xe0,0x11,0x20,0x03,0xa0,0x00,0x20,0x00,0x60,
  /* ASCII 71  */  0x00,0x00,0x0f,0xc0,0x10,0x20,0x10,0x20,0x12,0x20,0x0e,0x60,0x02,0x00,
  /* ASCII 72  */  0x10,0x20,0x1f,0xe0,0x11,0x20,0x01,0x00,0x11,0x20,0x1f,0xe0,0x10,0x20,
  /* ASCII 73  */  0x00,0x00,0x10,0x20,0x10,0x20,0x1f,0xe0,0x10,0x20,0x10,0x20,0x00,0x00,
  /* ASCII 74  */  0x00,0x00,0x0e,0x00,0x10,0x20,0x10,0x20,0x0f,0xe0,0x00,0x20,0x00,0x00,
  /* ASCII 75  */  0x10,0x20,0x1f,0xe0,0x12,0x20,0x03,0x00,0x04,0xa0,0x18,0x60,0x10,0x20,
  /* ASCII 76  */  0x00,0x00,0x10,0x20,0x1f,0xe0,0x10,0x20,0x10,0x00,0x1c,0x00,0x00,0x00,
  /* ASCII 77  */  0x10,0x20,0x1f,0xe0,0x10,0xe0,0x03,0x00,0x10,0xe0,0x1f,0xe0,0x10,0x20,
  /* ASCII 78  */  0x10,0x20,0x1f,0xe0,0x10,0xe0,0x07,0x00,0x18,0x20,0x1f,0xe0,0x00,0x20,
  /* ASCII 79  */  0x00,0x00,0x0f,0xc0,0x10,0x20,0x10,0x20,0x10,0x20,0x0f,0xc0,0x00,0x00,
  /* ASCII 80  */  0x00,0x00,0x10,0x20,0x1f,0xe0,0x12,0x20,0x02,0x20,0x01,0xc0,0x00,0x00,
  /* ASCII 81  */  0x00,0x00,0x0f,0xc0,0x10,0x20,0x30,0x20,0x30,0x20,0x2f,0xc0,0x00,0x00,
  /* ASCII 82  */  0x10,0x20,0x1f,0xe0,0x12,0x20,0x02,0x20,0x06,0x20,0x09,0xc0,0x10,0x00,
  /* ASCII 83  */  0x00,0x00,0x18,0xc0,0x09,0x20,0x11,0x20,0x11,0x40,0x0e,0x60,0x00,0x00,
  /* ASCII 84  */  0x00,0x60,0x00,0x20,0x10,0x20,0x1f,0xe0,0x10,0x20,0x00,0x20,0x00,0x60,
  /* ASCII 85  */  0x00,0x20,0x0f,0xe0,0x10,0x20,0x10,0x00,0x10,0x20,0x0f,0xe0,0x00,0x20,
  /* ASCII 86  */  0x00,0x20,0x00,0xe0,0x07,0x20,0x18,0x00,0x07,0x20,0x00,0xe0,0x00,0x20,
  /* ASCII 87  */  0x00,0x20,0x0f,0xe0,0x10,0x20,0x0f,0x00,0x10,0x20,0x0f,0xe0,0x00,0x20,
  /* ASCII 88  */  0x10,0x20,0x18,0x60,0x04,0x80,0x03,0x00,0x04,0x80,0x18,0x60,0x10,0x20,
  /* ASCII 89  */  0x00,0x20,0x00,0x60,0x11,0xa0,0x1e,0x00,0x11,0xa0,0x00,0x60,0x00,0x20,
  /* ASCII 90  */  0x00,0x00,0x18,0x60,0x14,0x20,0x13,0x20,0x10,0xa0,0x18,0x60,0x00,0x00,
  /* ASCII 91  */  0x00,0x00,0x00,0x00,0x7f,0xe0,0x40,0x20,0x40,0x20,0x00,0x00,0x00,0x00,
  /* ASCII 92  */  0x00,0x00,0x00,0x20,0x01,0xc0,0x06,0x00,0x38,0x00,0x00,0x00,0x00,0x00,
  /* ASCII 93  */  0x00,0x00,0x00,0x00,0x40,0x20,0x40,0x20,0x7f,0xe0,0x00,0x00,0x00,0x00,
  /* ASCII 94  */  0x00,0x00,0x01,0x00,0x00,0x80,0x00,0x60,0x00,0x80,0x01,0x00,0x00,0x00,
  /* ASCII 95  */  0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,
  /* ASCII 96  */  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x40,0x00,0x00,0x00,0x00,
  /* ASCII 97  */  0x00,0x00,0x0d,0x00,0x12,0x80,0x12,0x80,0x12,0x80,0x1f,0x00,0x10,0x00,
  /* ASCII 98  */  0x10,0x20,0x1f,0xe0,0x11,0x00,0x10,0x80,0x10,0x80,0x0f,0x00,0x00,0x00,
  /* ASCII 99  */  0x00,0x00,0x0f,0x00,0x10,0x80,0x10,0x80,0x10,0x80,0x09,0x80,0x00,0x00,
  /* ASCII 100 */  0x00,0x00,0x0f,0x00,0x10,0x80,0x10,0x80,0x11,0x20,0x1f,0xe0,0x10,0x00,
  /* ASCII 101 */  0x00,0x00,0x0f,0x00,0x12,0x80,0x12,0x80,0x12,0x80,0x13,0x00,0x00,0x00,
  /* ASCII 102 */  0x00,0x00,0x10,0x80,0x1f,0xc0,0x10,0xa0,0x10,0xa0,0x10,0xa0,0x00,0x00,
  /* ASCII 103 */  0x00,0x00,0x0f,0x00,0x50,0x80,0x50,0x80,0x51,0x00,0x3f,0x80,0x00,0x80,
  /* ASCII 104 */  0x10,0x20,0x1f,0xe0,0x11,0x00,0x00,0x80,0x10,0x80,0x1f,0x00,0x10,0x00,
  /* ASCII 105 */  0x00,0x00,0x10,0x80,0x10,0x80,0x1f,0xa0,0x10,0x00,0x10,0x00,0x00,0x00,
  /* ASCII 106 */  0x00,0x00,0x40,0x80,0x40,0x80,0x40,0xa0,0x3f,0x80,0x00,0x00,0x00,0x00,
  /* ASCII 107 */  0x10,0x20,0x1f,0xe0,0x02,0x00,0x16,0x80,0x19,0x80,0x10,0x80,0x00,0x00,
  /* ASCII 108 */  0x00,0x00,0x10,0x00,0x10,0x20,0x1f,0xe0,0x10,0x00,0x10,0x00,0x00,0x00,
  /* ASCII 109 */  0x10,0x80,0x1f,0x80,0x10,0x80,0x1f,0x00,0x10,0x80,0x1f,0x00,0x10,0x00,
  /* ASCII 110 */  0x10,0x80,0x1f,0x80,0x11,0x00,0x00,0x80,0x10,0x80,0x1f,0x00,0x10,0x00,
  /* ASCII 111 */  0x00,0x00,0x0f,0x00,0x10,0x80,0x10,0x80,0x10,0x80,0x0f,0x00,0x00,0x00,
  /* ASCII 112 */  0x40,0x80,0x7f,0x80,0x51,0x00,0x10,0x80,0x10,0x80,0x0f,0x00,0x00,0x00,
  /* ASCII 113 */  0x00,0x00,0x0f,0x00,0x10,0x80,0x10,0x80,0x51,0x00,0x7f,0x80,0x40,0x80,
  /* ASCII 114 */  0x00,0x00,0x10,0x80,0x1f,0x80,0x11,0x00,0x10,0x80,0x10,0x80,0x00,0x00,
  /* ASCII 115 */  0x00,0x00,0x19,0x00,0x12,0x80,0x12,0x80,0x12,0x80,0x0d,0x80,0x00,0x00,
  /* ASCII 116 */  0x00,0x00,0x00,0x80,0x0f,0xc0,0x10,0x80,0x10,0x80,0x10,0x80,0x08,0x00,
  /* ASCII 117 */  0x00,0x80,0x0f,0x80,0x10,0x00,0x10,0x00,0x08,0x80,0x1f,0x80,0x10,0x00,
  /* ASCII 118 */  0x00,0x80,0x03,0x80,0x0c,0x80,0x10,0x00,0x0c,0x80,0x03,0x80,0x00,0x80,
  /* ASCII 119 */  0x00,0x80,0x0f,0x80,0x10,0x80,0x0e,0x00,0x10,0x80,0x0f,0x80,0x00,0x80,
  /* ASCII 120 */  0x10,0x80,0x19,0x80,0x06,0x00,0x06,0x00,0x19,0x80,0x10,0x80,0x00,0x00,
  /* ASCII 121 */  0x00,0x80,0x41,0x80,0x46,0x80,0x78,0x00,0x4c,0x80,0x03,0x80,0x00,0x80,
  /* ASCII 122 */  0x00,0x00,0x19,0x80,0x14,0x80,0x12,0x80,0x11,0x80,0x18,0x80,0x00,0x00,
  /* ASCII 123 */  0x00,0x00,0x00,0x00,0x04,0x00,0x3b,0xc0,0x40,0x20,0x00,0x00,0x00,0x00,
  /* ASCII 124 */  0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0xe0,0x00,0x00,0x00,0x00,0x00,0x00,
  /* ASCII 125 */  0x00,0x00,0x00,0x00,0x40,0x20,0x3b,0xc0,0x04,0x00,0x00,0x00,0x00,0x00,
  /* ASCII 126 */  0x00,0x00,0x04,0x00,0x02,0x00,0x04,0x00,0x04,0x00,0x02,0x00,0x00,0x00};

/* Private function prototypes -----------------------------------------------*/
/* Private functions ---------------------------------------------------------*/

/*******************************************************************************
* Function Name  : LCD_DataLinesConfig
* Description    : Configure data lines D0~D7 (P8.0~P8.7) in Input Floating mode
*                  for read from LCD or in Output Push-Pull mode for write on LCD
* Input          : - Mode: specifies the configuration mode for data lines D0~D7
*                       - Input: configure in Input Floating mode
*                       - Output: configure in Output Push-Pul mode
* Output         : None
* Return         : None
*******************************************************************************/
void LCD_DataLinesConfig(DataConfigMode_TypeDef Mode)
{
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;
  if (Mode == Input)
  {
    /* Configure D0~D7 lines (P8.0 ->P8.7) as Input */
    GPIO_InitStructure.GPIO_Direction = GPIO_PinInput;
  }
  else
  {
    /* Configure D0~D7 lines in Output Push-Pull mode */
    GPIO_InitStructure.GPIO_Direction = GPIO_PinOutput ;
    GPIO_InitStructure.GPIO_Type = GPIO_Type_PushPull ;
  }
  GPIO_Init(GPIO8, &GPIO_InitStructure);
}

/*******************************************************************************
* Function Name  : LCD_DataLinesWrite
* Description    : Write a value on D0~D7 (P8.0~P8.7)
* Input          : - GPIOx: GPIO port to write on. It could be
*                  - PortVal: value to write
* Output         : None
* Return         : None.
*******************************************************************************/
void LCD_DataLinesWrite(GPIO_TypeDef* GPIOx, u32 PortVal)
{
	GPIOx->DR[0x3FC] = PortVal;
}

/*******************************************************************************
* Function Name  : LCD_CtrlLinesConfig
* Description    : Configure control lines E2, E1, RW, DI (P9.4~P9.7) in
*                  Output Push-Pull mode.
* Input          : None
* Output         : None
* Return         : None
*******************************************************************************/
void LCD_CtrlLinesConfig(void)
{
  /* Configure E2, E1, RW, DI lines (P9.4~P9.7) in Output Push-Pull mode */
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7;
  GPIO_InitStructure.GPIO_Direction = GPIO_PinOutput ;
  GPIO_InitStructure.GPIO_Type = GPIO_Type_PushPull ;
  GPIO_Init(GPIO9, &GPIO_InitStructure);
}

/*******************************************************************************
* Function Name  : LCD_CtrlLinesWrite
* Description    : Set or reset control lines E2, E1, RW, DI (P9.4~P9.7).
* Input          : - GPIOx: where x can be 0,1 or 2 to select the GPIO peripheral.
*                  - CtrlPins: the Control line. This parameter can be:
*                       - CtrlPin_E2: Enabe clock signal for Slave
*                       - CtrlPin_E1: Enabe clock signal for Master
*                       - CtrlPin_RW: Read/Write control line
*                       - CtrlPin_DI:
* Output         : None
* Return         : None
*******************************************************************************/
void LCD_CtrlLinesWrite(GPIO_TypeDef* GPIOx, u32 CtrlPins, BitAction BitVal)
{
  /* Set or Reset the control line */
  if(BitVal == Bit_SET)
  {
    GPIOx->DR[CtrlPins <<2] = CtrlPins;
  }
  else
  {
    GPIOx->DR[CtrlPins <<2] = 0x00;
  }
}

/*******************************************************************************
* Function Name  : LCD_CheckMasterStatus
* Description    : Check whether master LCD is busy or not
* Input          : None
* Output         : None
* Return         : None
*******************************************************************************/
void LCD_CheckMasterStatus(void)			
{
  u8 MasterStatus = 0;

  /* Configure Data lines as Input */
  LCD_DataLinesConfig(Input);
  /* Start the master read sequence */
  LCD_CtrlLinesWrite(GPIO9, CtrlPin_E1, Bit_RESET);   /* E1 = 0 */
  LCD_CtrlLinesWrite(GPIO9, CtrlPin_RW, Bit_SET);     /* RW = 1 */
  LCD_CtrlLinesWrite(GPIO9, CtrlPin_DI, Bit_RESET);   /* DI = 0 */
  LCD_CtrlLinesWrite(GPIO9, CtrlPin_E1, Bit_SET);     /* E1 = 1 */
  MasterStatus = GPIO_Read(GPIO8);
  LCD_CtrlLinesWrite(GPIO9, CtrlPin_E1, Bit_RESET);   /* E1 = 0 */
	
  /* Wait until BF is cleared */
  while ((MasterStatus & 0x80))
  {
	vTaskDelay( 2 );  
    LCD_CtrlLinesWrite(GPIO9, CtrlPin_E1, Bit_SET);   /* E1 = 1 */
    MasterStatus = GPIO_Read(GPIO8);
    LCD_CtrlLinesWrite(GPIO9, CtrlPin_E1, Bit_RESET); /* E1 = 0 */
  }
}

/*******************************************************************************
* Function Name  : LCD_CheckSlaveStatus
* Description    : Check whether slave LCD is busy or not
* Input          : None
* Output         : None
* Return         : None
*******************************************************************************/
void LCD_CheckSlaveStatus(void)			
{
  u8 SlaveStatus = 0;

  /* Configure Data lines as Input */
  LCD_DataLinesConfig(Input);
  /* Start the slave read sequence */
  LCD_CtrlLinesWrite(GPIO9, CtrlPin_E2, Bit_RESET);   /* E2 = 0 */	
  LCD_CtrlLinesWrite(GPIO9, CtrlPin_RW, Bit_SET);     /* RW = 1 */
  LCD_CtrlLinesWrite(GPIO9, CtrlPin_DI, Bit_RESET);   /* DI = 0 */
  LCD_CtrlLinesWrite(GPIO9, CtrlPin_E2, Bit_SET);     /* E2 = 1 */
  SlaveStatus = GPIO_Read(GPIO8);
  LCD_CtrlLinesWrite(GPIO9, CtrlPin_E2, Bit_RESET);   /* E2 = 0 */
	
  /* Wait until BF is cleared */
  while ((SlaveStatus & 0x80))
  {
	vTaskDelay( 2 );  
    LCD_CtrlLinesWrite(GPIO9, CtrlPin_E2, Bit_SET);   /* E2 = 1 */
    SlaveStatus = GPIO_Read(GPIO8);
    LCD_CtrlLinesWrite(GPIO9, CtrlPin_E2, Bit_RESET); /* E2 = 0 */
  }
}

/*******************************************************************************
* Function Name  : LCD_SendMasterCmd
* Description    : Send one byte command to master LCD.
* Input          : - Cmd: the user expected command to send to master LCD
* Output         : None
* Return         : None
*******************************************************************************/
void LCD_SendMasterCmd(u8 Cmd)
{
  /* Check the master status */
  LCD_CheckMasterStatus();
  /* Configure Data lines as Output */
  LCD_DataLinesConfig(Output);
  /* Start the master send command sequence */
  LCD_CtrlLinesWrite(GPIO9, CtrlPin_E1, Bit_RESET);  /* E1 = 0 */
  LCD_CtrlLinesWrite(GPIO9, CtrlPin_RW, Bit_RESET);  /* RW = 0 */
  LCD_CtrlLinesWrite(GPIO9, CtrlPin_DI, Bit_RESET);  /* DI = 0 */
  LCD_CtrlLinesWrite(GPIO9, CtrlPin_E1, Bit_SET);    /* E1 = 1 */
  /* Write master command */
  LCD_DataLinesWrite(GPIO8, (u32)Cmd);
  LCD_CtrlLinesWrite(GPIO9, CtrlPin_E1, Bit_RESET);  /* E1 = 0 */
}

/*******************************************************************************
* Function Name  : LCD_SendSlaveCmd
* Description    : Send one byte command to slave LCD
* Input          : - Cmd: the user expected command to send to slave LCD.
* Output         : None
* Return         : None
*******************************************************************************/
void LCD_SendSlaveCmd(u8 Cmd)
{
  /* Check the slave status */
  LCD_CheckSlaveStatus();
  /* Configure Data lines as Output */
  LCD_DataLinesConfig(Output);
  /* Start the slave send command sequence */
  LCD_CtrlLinesWrite(GPIO9, CtrlPin_E2, Bit_RESET);  /* E2 = 0 */
  LCD_CtrlLinesWrite(GPIO9, CtrlPin_RW, Bit_RESET);  /* RW = 0 */
  LCD_CtrlLinesWrite(GPIO9, CtrlPin_DI, Bit_RESET);  /* DI = 0 */
  LCD_CtrlLinesWrite(GPIO9, CtrlPin_E2, Bit_SET);    /* E2 = 1 */
  /* Write slave command */
  LCD_DataLinesWrite(GPIO8, (u32)Cmd);
  LCD_CtrlLinesWrite(GPIO9, CtrlPin_E2, Bit_RESET);  /* E2 = 0 */
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
高清不卡一区二区| 久久欧美一区二区| 国产一区二区电影| 亚洲精品中文在线| 精品成人一区二区三区| 日本道色综合久久| 国产成人丝袜美腿| 久久疯狂做爰流白浆xx| 一区二区三区日韩欧美精品| 久久色中文字幕| 欧美日高清视频| 91国在线观看| 国产成人一级电影| 久久99国产精品尤物| 午夜av一区二区| 亚洲三级电影网站| 国产精品丝袜黑色高跟| 26uuuu精品一区二区| 日韩欧美中文字幕精品| 欧美日韩国产天堂| 欧美综合久久久| 97se亚洲国产综合自在线| 国产成人精品一区二区三区四区 | 99久久精品国产一区| 日本sm残虐另类| 婷婷中文字幕综合| 亚洲一二三四久久| 亚洲欧美激情小说另类| 亚洲国产精品国自产拍av| 久久久亚洲精品一区二区三区| 欧美丰满美乳xxx高潮www| 在线观看亚洲精品视频| 一本大道久久a久久综合| 波多野结衣亚洲| 不卡的av电影| 97超碰欧美中文字幕| 99精品一区二区三区| 91在线一区二区| 99久久国产综合色|国产精品| 成人精品鲁一区一区二区| 成人18精品视频| 95精品视频在线| 色综合天天视频在线观看 | 在线观看一区不卡| 在线观看亚洲专区| 欧美日韩精品三区| 日韩西西人体444www| 日韩欧美一区二区免费| 精品精品国产高清a毛片牛牛| 精品日韩在线观看| 国产日韩欧美高清| 国产精品天干天干在线综合| 国产精品久久久久久久午夜片 | 337p亚洲精品色噜噜噜| 在线综合亚洲欧美在线视频| 欧美一级日韩免费不卡| 精品卡一卡二卡三卡四在线| 久久午夜老司机| 自拍视频在线观看一区二区| 亚洲一二三区视频在线观看| 国产1区2区3区精品美女| 成人avav在线| 在线观看区一区二| 欧美一卡在线观看| 久久久久久免费网| 一区二区在线观看av| 视频一区在线播放| 国产一区二区三区香蕉| 99精品久久免费看蜜臀剧情介绍| 在线观看视频欧美| 欧美成人性福生活免费看| 中文字幕第一页久久| 亚洲影院免费观看| 国产在线精品不卡| 一本色道久久综合亚洲91| 日韩一区二区在线看片| 国产精品天干天干在线综合| 亚洲bt欧美bt精品777| 韩日av一区二区| 一本久久a久久免费精品不卡| 欧美肥妇free| 国产精品私房写真福利视频| 五月激情综合色| 福利一区福利二区| 欧美一区二区三区不卡| 国产精品国模大尺度视频| 日韩av一区二区三区四区| 成人午夜私人影院| 日韩视频123| 亚洲男女毛片无遮挡| 国产在线精品免费av| 欧美午夜免费电影| 国产精品系列在线| 蜜桃av一区二区| 91国产丝袜在线播放| 国产欧美日韩卡一| 日日夜夜精品免费视频| 91美女精品福利| 国产日韩精品一区二区三区 | 国产精品久久久久影院色老大 | 石原莉奈在线亚洲二区| 成人美女视频在线看| 精品美女在线观看| 亚洲成人免费在线观看| 一道本成人在线| 欧美国产精品一区二区三区| 麻豆高清免费国产一区| 欧美日韩三级一区| 一区二区三区不卡视频在线观看| 国产激情视频一区二区三区欧美| 欧美一区二区三区免费在线看| 亚洲综合视频在线| 99久久久国产精品免费蜜臀| 久久久美女毛片| 久久9热精品视频| 91精品国产高清一区二区三区蜜臀| 亚洲情趣在线观看| 99天天综合性| 国产精品久久久久久久久晋中| 精品中文字幕一区二区| 欧美电影精品一区二区| 免费国产亚洲视频| 7777精品久久久大香线蕉| 亚洲制服丝袜在线| 欧美性淫爽ww久久久久无| 亚洲三级在线播放| 91久久久免费一区二区| 亚洲欧美国产77777| 91丨porny丨首页| 亚洲日本一区二区| 色婷婷综合久久久久中文 | 国产精品影视网| 久久一夜天堂av一区二区三区| 狠狠色狠狠色合久久伊人| 日韩欧美一级二级三级| 九九久久精品视频 | 亚洲一区二区三区四区五区黄 | 天天操天天干天天综合网| 欧美制服丝袜第一页| 亚洲国产精品综合小说图片区| 日本高清不卡一区| 亚洲一区二区av电影| 欧美久久一二三四区| 日本系列欧美系列| 日韩免费视频线观看| 国产揄拍国内精品对白| 久久久久久久国产精品影院| 国产91精品精华液一区二区三区 | 亚洲欧美日韩国产手机在线| 在线观看欧美黄色| 日韩激情视频网站| 亚洲影院理伦片| 欧美一区二区三区影视| 精彩视频一区二区| 国产精品久久久久久久午夜片| 91视视频在线观看入口直接观看www| 亚洲欧美另类在线| 91精品国产高清一区二区三区| 激情综合网激情| 国产精品久久久久永久免费观看 | 精品国产露脸精彩对白| 成人性生交大片免费看中文| 亚洲丝袜美腿综合| 这里只有精品视频在线观看| 国产一区二区中文字幕| 亚洲日本丝袜连裤袜办公室| 欧美乱熟臀69xxxxxx| 国产一区二区三区免费观看| 中文字幕人成不卡一区| 欧美高清你懂得| 国产jizzjizz一区二区| 亚洲国产毛片aaaaa无费看| 亚洲精品一区二区三区影院| 成人成人成人在线视频| 亚洲成av人片在线观看无码| 久久久精品2019中文字幕之3| 99久久er热在这里只有精品15 | 韩国女主播成人在线| 国产精品第一页第二页第三页| 欧美另类高清zo欧美| 国产成都精品91一区二区三| 夜夜操天天操亚洲| 久久久久久久久久久久久女国产乱| 色综合激情五月| 久久99精品国产麻豆婷婷| 亚洲美女视频在线观看| 精品国产乱码久久久久久久久| 在线亚洲免费视频| 国产精品影视网| 日本伊人精品一区二区三区观看方式| 国产精品美女久久久久久2018| 欧美高清视频不卡网| 色狠狠av一区二区三区| 国产精品456露脸| 日本女优在线视频一区二区| 亚洲精品国产一区二区三区四区在线| 久久午夜色播影院免费高清| 欧美卡1卡2卡| 欧美在线视频全部完| 成人国产亚洲欧美成人综合网|