genererar VGA är en flerårig föredragen på hackaday-förslagslinjen, liksom det är inte svårt att se varför. Low-res-videospel, givetvis, men skickar alla pixlar ut till en skärm är verkligen en ganska svår prestation av kodning. Det allra bästa många jobb har uppnått är den ursprungliga VGA-standarden, 640 × 480. Nu när vi har snabba armar sitter runt, kan vi stöta på det så mycket som 800 × 600, som [Karl] gjorde med en STM32F4 Discovery Board.
Frågan med att generera VGA på en mikrokontroller är pixelfrekvensen – hastigheten vid vilken pixlar skjuts ut ur mikrokontroller såväl som på skärmen. För en 800 × 600 display är det 36 MHz; Snabbare än vad 8-bitars mikros kan göra, men en bit tårta för STM32F4 [Karl] använder.
[Karl] började sin utveckla genom att ta en titt på VGA-jobb Artekit satt ihop. Det använder också en STM32, men en 36-polig F103-del. Ändå var det snabbt tillräckligt för att producera en linje-fördubblad 800 × 600 display. [Karl] tog den här koden såväl som portad den över till F4-delen på Discovery Board som har tillräckligt med område för en fullständig 800 × 600 rambuffert.
Med all den ram ombord på F4-delen kunde [Karl] bredda rambufferten samt producera en ganska högupplöst skärm med DMA samt om en del rader av kod. Det ser bra ut, liksom nu behöver vi bara en lämplig applikation för högupplösta VGA-skärmar. Retrocomputing? En högupplöst terminalemulator? Vem vet, men det är ett fantastiskt utnyttjande för STM32.
Om cirklar såväl som någon text är inte din sak, har Artekit också område Invaders som körs på 36-polig STM32.