ak-kr-project/Core/Inc/lcd.h

25 lines
837 B
C
Raw Normal View History

#ifndef __LCD
#define __LCD
#define DISPLAY_RS ((uint16_t) (0x1U << 7))
#define DISPLAY_RW ((uint16_t) (0x1U << 10))
#define DISPLAY_ENA ((uint16_t) (0x1U << 11))
#define DISPLAY_POLL_UNTIL_READY do { while (display_read_status() & 0x80) {} } while (0)
#define DISPLAY_SET_INCREMENT do { display_write_instruction_byte(0x06); } while (0)
#define DISPLAY_SET_DECREMENT do { display_write_instruction_byte(0x04); } while (0)
#define DISPLAY_SET_CURSOR(line, position) do { display_write_instruction_byte(0x80 | (line << 6) | position); } while (0)
#define DISPLAY_CLEAR do { display_write_instruction_byte(0x01); } while (0)
void display_init(void);
uint8_t display_read_status(void);
void display_write_instruction_byte(uint8_t code);
void display_write_data_byte(uint8_t code);
void display_write_data_seq(char *codes);
#endif