STM32学习之路-感觉自己走到了一个天大的坑里了!
生活随笔
收集整理的這篇文章主要介紹了
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 假設有人知道怎么寫能夠告訴我下么? 事實上也沒什么事情, 這件事對我的教訓就是以后
開始做一件事情的時候要好好想好該具備哪些事情,不要一股腦就扎進去。這樣反而浪費很多其它時間.
總結
以上是生活随笔為你收集整理的STM32学习之路-感觉自己走到了一个天大的坑里了!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android Studio 2.3 C
- 下一篇: 酷狗音乐怎么下载到本地