zoukankan      html  css  js  c++  java
  • STM32学习之路-感觉自己走到了一个天大的坑里了!

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

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

    这是它的原理图..


    再来看看正点原子的


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


    正点原子这个应该是不支持FSMC的.这个就非常easy写数据: 

    #define	LCD_CS_SET  <span style="white-space:pre">	</span>GPIOC->BSRR=1<<9    //片选port  	     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     //片选port  	     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位数据线,这样就非常easy写了..

    = =  可是再看看上面的奋斗V5的, 我就有种想撞墙的冲动!

    尽管它也有信号线口、16位数据口,可是它是分别用PD和PE加起来的.. 这样写数据起来就很困难了

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

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


  • 相关阅读:
    删除表空间的时候遇到的问题:ORA-02429: 无法删除用于强制唯一/主键的索引
    删除
    Activity中使用getSystemService获得系统服务
    用多线程实现反应灵敏的界面(Java)
    用数组实现3个栈之固定分割(Java)
    Android小知识点20条
    Android数据库中数据文件的导出与查看
    MFC中使用CSplitterWnd分割窗口后设置视图大小的问题
    MFC中,通过preCreateWindow函数无法设置视图样式(包括窗口的大小)
    6:Node.js 路由
  • 原文地址:https://www.cnblogs.com/jhcelue/p/6984258.html
Copyright © 2011-2022 走看看