lcd.h
来自「STM32为ST公司最新推出的基于CORTEX内核的32位MCU,基丰富的外设,」· C头文件 代码 · 共 103 行
H
103 行
/*
*********************************************************************************************************
* uC/LCD
* LCD Module Driver
*
* (c) Copyright 2005; Micrium; Weston, FL
*
* All rights reserved. Protected by international copyright laws.
* Knowledge of the source code may not be used to write a similar
* product. This file may only be used in accordance with a license
* and should not be redistributed in any way.
*********************************************************************************************************
*/
/*
*********************************************************************************************************
* LCD MODULE SOURCE FILE
*
* Filename : lcd.h
* Programmer(s) : JJL
* Version : V3.00
*********************************************************************************************************
*/
/*
*********************************************************************************************************
* CONSTANTS
*********************************************************************************************************
*/
#define DISP_MODULE_PRESENT 1
#define DISP_SEL_CMD_REG 0
#define DISP_SEL_DATA_REG 1
/*
*********************************************************************************************************
* FUNCTION PROTOTYPES
*********************************************************************************************************
*/
#define PIN_E ( 1 << 12)
#define PIN_RW ( 1 << 9)
#define PIN_RS ( 1 << 8)
#define PINS_DATA 0x0F
#define LCD_DATA_DIR_IN GPIOC->CRL = (GPIOC->CRL & 0xFFFF0000) | 0x00004444;
#define LCD_DATA_DIR_OUT GPIOC->CRL = (GPIOC->CRL & 0xFFFF0000) | 0x00003333;
#define LCD_DATA_IN ((GPIOC->IDR & PINS_DATA >> 0)& 0x0F)
/* pin E setting to 0 or 1 */
#define LCD_E(x) GPIOC->ODR = (GPIOC->ODR & ~PIN_E) | (x ? PIN_E : 0);
/* pin RW setting to 0 or 1 */
#define LCD_RW(x) GPIOC->ODR = (GPIOC->ODR & ~PIN_RW) | (x ? PIN_RW : 0);
/* pin RS setting to 0 or 1 */
#define LCD_RS(x) GPIOC->ODR = (GPIOC->ODR & ~PIN_RS) | (x ? PIN_RS : 0);
void DispChar(CPU_INT08U row, CPU_INT08U col, CPU_INT08U c);
void DispClrLine(CPU_INT08U line);
void DispClrScr(void);
void DispDefChar(CPU_INT08U id, CPU_INT08U *pat);
void DispDly_uS(CPU_INT32U us);
void DispDummy(void);
void DispHorBar(CPU_INT08U row, CPU_INT08U col, CPU_INT08U val);
void DispHorBarInit(void);
void DispVertBar(CPU_INT08U row, CPU_INT08U col, CPU_INT08U val);
void DispVertBarInit(void);
void DispInit(CPU_INT08U maxrows, CPU_INT08U maxcols);
void DispStr(CPU_INT08U row, CPU_INT08U col, CPU_INT08U *s);
unsigned char wait_while_busy (void);
unsigned char lcd_read_status (void);
static void delay (int cnt);
/*
*********************************************************************************************************
* FUNCTION PROTOTYPES
* HARDWARE SPECIFIC
*********************************************************************************************************
*/
#if DISP_BUS_WIDTH == 4
void DispDataWrOneNibble(CPU_INT08U data);
#endif
void DispDataWr(CPU_INT08U data);
void DispInitPort(void);
void DispSel(CPU_INT08U sel);
/*
*********************************************************************************************************
* FUNCTION PROTOTYPES
* OS SPECIFIC
*********************************************************************************************************
*/
void DispInitOS(void); /* Initialize RTOS services */
void DispLock(void); /* Ensure exclusive access to the display */
void DispUnlock(void); /* Release exclusive access to the display */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?