|
發布時間: 2020-7-31 19:26
正文摘要:本帖最后由 新洲羅遠 于 2020-7-31 19:27 編輯 STM32F1驅動VGA顯示器 時序為SVGA 800x600 56 Hz,實際使用400X200。 3根線連接,沒有用電阻。 A8---------行同步VGA-13 B7---------場同步 ... |
| 彩色做出來了。STM32F407單片機驅動VGA顯示器 - STM32/8 http://m.raoushi.com/bbs/dpj-218615-1.html |
| 這個有點意思,比較有特色哈!! |
哈哈,以前見過別人屏幕上彈出一堆黑底的字來,當時還迷惑不解,今天算是解惑了![]() |
| 這個,網上有庫,類型還比較多,感覺用不上 |
| 您好,如何顯示一張彩圖呢? |
| 可以提供下源碼嗎 |
| STM32F1系也能點亮VGA, 666 ,能方原理圖和源碼出來嗎? |
|
我們選擇800×600 @ 56Hz的原因是因為像素時鐘; 輸出分辨率使用36MHz像素時鐘,周期是72MHz的倍數(STM32的頻率), 因為我們需要使用SPI產生像素信號,可以把STM32的頻率經過SPI預分頻得到18MHz的像素時鐘, 然后將每一個像素點繪制兩次,具體方法是當在水平方向800像素點時輸出一個信號像素, SPI 的 MOSI信號保持低電平或者高電平兩倍的時間(相比于之前繪制一個點的時間)。 幀緩沖區是一個52×200字節的數組。每一行有50*8=400個像素(每一個bit是一個像素), 剩下的兩個字節(52-50)模擬每一行的消隱間隔。 水平同步 水平同步信號( horizontal synchronism signal)和后延時間(back porch time)由TIM1定時器產生的通道1和2產生,TIM1定時器產生的通道1連接到PA8。 H-SYNC也就是TIM1定時器的通道1將會產生水平同步信號給顯示器。 H-BACKPORCH也就是TIM1定時器的通道2,計算水平同步時間的和以及后延時間, 這個定時器產生一個中斷用于觸發DMA開始通過SPI發送像素的請求。 幀緩沖里面的每一行都會重復這樣的過程, 垂直同步 TIM2定時器用于產生垂直同步信號,但是實在從機模式下。 TIM2計算主機(TIM1)產生的H-SYNC脈沖數。 TIM2的通道2通過PA1輸出V-SYNC信號。 TIM2的通道3將會觸發一個中斷當定時器的計數器達到V-SYNC的和垂直后沿時間。 這個中斷會設置一個變量表明正在掃描一個有效幀并且DMA可以開始發送像素到屏幕了。 像素發生器 像素由SPI的MOSI(PA7)產生。 定時器TIM1的通道2產生一個中斷用于使能DMA TX請求向SPI發送數據。 DMA將會從幀緩沖區讀取一行并且將數據放到SPI的DR寄存器。 DMA被設置用來在一行信號被發送之后產生一個中斷,行號是遞增的。 因為我們將每一行發送了三次,我們在中斷中將計數加1。 當三行數據被發送出去,我們將DMA指針指向下一行的幀緩沖。 當所有的行被發送出去,DMA被禁止直到下一個有效單的幀中斷發生(TIM2通道3)。 |
| 好厲害的樣子,能再具體介紹一下嗎? |