我在使用RA6M3 BUS模拟8080时序来控制ST7796 LCD,目前MCU向LCD写数据及命令正常,但是读数据不正常,无法读出数据
读写函数及external bus寄存器配置如下,EBCLK=60Mhz:
#define LCD_CMD ( *(volatile uint16_t *) 0x80000000)
#define LCD_DATA ( *(volatile uint16_t *) 0x80000008)
R_BUS->CSb[0].CR_b.BSIZE=0; //Set bus data size 0->16bit 1->8bit
R_BUS->CSb[0].CR_b.EMODE=0; //Set data mode 0->little-endian 1->big-endian
R_BUS->CSb[0].CR_b.EXENB=1; //Enable ex-bus
R_BUS->CSa[0].MOD_b.WRMOD=1; //Set write access mode: 0->byte strobe 1->single write strobe
R_BUS->CSa[0].WCR2_b.CSON=1;
R_BUS->CSa[0].WCR2_b.RDON=2;
R_BUS->CSa[0].WCR2_b.WRON=2;
R_BUS->CSa[0].WCR2_b.WDON=0;
R_BUS->CSa[0].WCR1_b.CSRWAIT =24;
R_BUS->CSa[0].WCR1_b.CSWWAIT =7;
R_BUS->CSa[0].WCR2_b.CSWOFF=7;
R_BUS->CSa[0].WCR2_b.WDOFF=3;
R_BUS->CSa[0].WCR2_b.CSROFF=7;
static uint16_t LCD_RD_DATA(void){ uint16_t ram; ram= LCD_DATA; return ram;}void LCD_WR_REG(uint16_t Reg){Reg = Reg; LCD_CMD = Reg;}void LCD_WR_DATA_16Bit(uint16_t Data){ Data = Data; LCD_DATA = Data;}
引脚分配如下:
请帮忙查看是否配置有误,谢谢?