STM32学习之路-感觉自己走到了一个天大的坑里了!

先前兴致勃勃的来弄16位并口驱动LCD,本以为就需要改下LCD IC的初始化就行了,没想到弄了这么多天终于发现自己走进了一个深坑了 T T

原因是我的开发板是奋斗V5的, 它确实有MCU外扩IO口, 还支持16位并口驱动,但是!! 感觉它完全是为了迎合FSMC-LCD来设定TFT接口的..

这是它的原理图..


再来看看正点原子的


再来看看它的芯片中关于这些IO口的部分


正点原子这个应该是不支持FSMC的.这个就很容易写数据: 

#define	LCD_CS_SET  <span style="white-space:pre">	</span>GPIOC->BSRR=1<<9    //片选端口  	     PC9
#define	LCD_RS_SET	GPIOC->BSRR=1<<8    //数据/命令              PC8	   
#define	LCD_WR_SET	GPIOC->BSRR=1<<7    //写数据	             PC7
#define	LCD_RD_SET	GPIOC->BSRR=1<<6    //读数据		     PC6
								    
#define	LCD_CS_CLR  <span style="white-space:pre">	</span>GPIOC->BRR=1<<9     //片选端口  	     PC9
#define	LCD_RS_CLR	GPIOC->BRR=1<<8     //数据/命令              PC8	   
#define	LCD_WR_CLR	GPIOC->BRR=1<<7     //写数据	             PC7
#define	LCD_RD_CLR	GPIOC->BRR=1<<6     //读数据	             PC6
								    

//PB0~15,作为数据线
#define DATAOUT(x) GPIOB->ODR=x; //数据输出
#define DATAIN     GPIOB->IDR;   //数据输入
//用宏定义,提高速度.

#define LCD_WR_DATA(data){\
LCD_RS_SET;\
LCD_CS_CLR;\
DATAOUT(data);\
LCD_WR_CLR;\
LCD_WR_SET;\
LCD_CS_SET;\
} 
很明显,PC6-PC9为读写什么的信号线, PB0-PB15位16位数据线,这样就很容易写了..

= =  但是再看看上面的奋斗V5的, 我就有种想撞墙的冲动!虽然它也有信号线口、16位数据口,但是它是分别用PD和PE加起来的.. 这样写数据起来就非常困难了

唉....不知道是不是我蠢... 反正我是想不出来这么写... T T 如果有人知道怎么写可以告诉我下么? 其实也没什么事情, 这件事对我的教训就是以后

开始做一件事情的时候要好好想好该具备哪些事情,不要一股脑就扎进去,这样反而浪费更多时间.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值