2023-08-05 16:14:54 +02:00

41 lines
774 B
C

/*
* lcdio.c
*
* Created on: Aug 5, 2023
* Author: leo
*/
#include <stdint.h>
#define FSMC_NOR_PSRAM_REGION1 ((void*)0x60000000)
#define FSMC_NOR_PSRAM_REG ((void*)0x60020000)
static volatile uint16_t *LCD_REG = (uint16_t*)FSMC_NOR_PSRAM_REGION1;
static volatile uint16_t *LCD_RAM = (uint16_t*)FSMC_NOR_PSRAM_REG;
uint16_t LCD_IO_ReadData(uint16_t RegValue){
*LCD_REG = RegValue;
return LCD_RAM;
}
uint32_t LCD_IO_ReadData_m(uint16_t RegValue, uint8_t ReadSize) {
volatile uint32_t data;
*LCD_REG = RegValue;
data = *LCD_RAM;
while (--ReadSize) {
data <<= 8;
data |= (*LCD_RAM & 0xFF);
}
return data;
}
void LCD_IO_WriteReg(uint16_t Reg) {
*LCD_REG = Reg;
}
void LCD_IO_WriteData(uint16_t RegValue) {
*LCD_RAM = RegValue;
}