stm32的fsmc中关于驱动TFT屏,对于屏的RS管脚,看到的程序都是接到fsmc的某个地址线上,请问有何意义?
接到地址线上以后,就可以确定命令和数据的地址空间了,但是这样做的好处是什么,可以随便接到其他IO口上吗?大不了写数据的的时候吧这个io拉高就可以了...
接到地址线上以后,就可以确定命令和数据的地址空间了,但是这样做的好处是什么,可以随便接到其他IO口上吗?大不了写数据的的时候吧这个io拉高就可以了
展开
1个回答
展开全部
FSMC是拓展总线,假设拓展基地址是0x6300 0000.
驱动液晶关键的有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
驱动液晶关键的有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
追问
好复杂
追答
复杂就用SPI吧
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询