Raspberry Pi PicoW - HDMI 출력 테스트 예제를 이용하여 RP2040 W5500 EVM 보드에서 HDMI 출력을 할 수 있는 확장 테스트 보드를 제작 했다.
HDMI 확장 테스트 보드 회로도
RP2040을 연결해서 다양한 테스트를 해 볼수 있다.
TFP-LCD 모듈도 연결해서 테스트 가능하도록 했다.
HDMI 출력 회로
RP2040 HDMI 출력 테스트 코드
#include <PicoDVI.h> // Core display & graphics library
#include <Fonts/FreeSansBold18pt7b.h> // A custom font
#include "img_rp2040exp.h"
#define SW1_PIN 1
static const struct dvi_serialiser_cfg pico_exp_cfg = {
.pio = DVI_DEFAULT_PIO_INST,
.sm_tmds = {0, 1, 2},
.pins_tmds = {10, 12, 14},
.pins_clk = 8,
.invert_diffpairs = true
};
DVIGFX16 display(DVI_RES_320x240p60, pico_exp_cfg);
void setup() { // Runs once on startup
pinMode(SW1_PIN, INPUT_PULLUP);
Serial.begin(115200);
if (!display.begin()) { // Blink LED if insufficient RAM
pinMode(LED_BUILTIN, OUTPUT);
for (;;) digitalWrite(LED_BUILTIN, (millis() / 500) & 1);
}
display.setRotation(1);
show_bitmap((unsigned short *)img_bmp);
}
#define PAUSE 2000 // Delay (milliseconds) between examples
uint8_t rotate = 0; // Current screen orientation (0-3)
#define IMAGE_WIDTH 320
#define IMAGE_HIGHT 240
void show_bitmap(unsigned short *img_buf) {
display.fillScreen(0);
int x, y;
int id = 0;
for(x=0;x<IMAGE_HIGHT;x++)
{
for(y=0;y<IMAGE_WIDTH;y++)
{
display.drawPixel(x, y, img_buf[id++]);
}
}
}
int flag = 0;
void loop() {
if(!digitalRead(SW1_PIN))
{
flag ^= 1;
if (++rotate > 3) rotate = 0;
Serial.print("r:");
Serial.println(rotate);
display.setRotation(rotate);
show_bitmap((unsigned short *)img_bmp);
delay(300);
}
}
RP2040 HMDI 출력 테스트 결과
반응형