
驱动液晶关键的有RD WR CS RS DAT0~7这几引脚。
写命令 WR=0 RD=1 RS=0 CS=0 DAT=数据
写数据 WR=1 RD=0 RS=1 CS=0 DAT=数据
假设RS和FSMC的A0相接,A0对应0x02。那么:
*((int *)0x6300 0000)= 1// WR自动=0 RD自动=1 CS自动=0 DAT=1。因为是0x6300 0000 A0对应输出0,即RS=0。即写命令地址是0x6300 0000
*((int *)0x6300 0002)= 1// WR自动=0 RD自动=1 CS自动=0 DAT=1。因为是0x6300 0002 A0对应输出1,即RS=1。即写命令地址是0x6300 0002
是我的时序有问题还是怎么的呢? p.FSMC_AddressSetupTime = 0x80//地址建立时间 p.FSMC_AddressHoldTime = 0x20//地址保持时间 p.FSMC_DataSetupTime = 0x81//数据建立时间这几个时钟我已经设置的尽可能大了!还是 LCD_RS_L(*(__IO u8 *) (0x6c000000)) = (cmdreg)delay(10)//延时这种方式不行?欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)