我只是想在带有 hub75 接口的 64x32 RGB LED 矩阵上显示 C85。 但有两个水平空行出现。 我也尝试自定义默认引脚,但它不起作用。请帮我解决这个问题。
下面是我的代码,按图像显示。
#include <ESP32-HUB75-MatrixPanel-I2S-DMA.h>
#define R1_PIN_DEFAULT 25
#define G1_PIN_DEFAULT 26
#define B1_PIN_DEFAULT 27
#define R2_PIN_DEFAULT 14
#define G2_PIN_DEFAULT 12
#define B2_PIN_DEFAULT 13
#define A_PIN_DEFAULT 23
#define B_PIN_DEFAULT 19
#define C_PIN_DEFAULT 5
#define D_PIN_DEFAULT 17
#define E_PIN_DEFAULT -1 // IMPORTANT: Change to a valid pin if using a 64x64px panel.
#define LAT_PIN_DEFAULT 4
#define OE_PIN_DEFAULT 15
#define CLK_PIN_DEFAULT 16
#define PANEL_RES_X 64 // Number of pixels wide of each INDIVIDUAL panel module.
#define PANEL_RES_Y 32 // Number of pixels tall of each INDIVIDUAL panel module.
#define PANEL_CHAIN 1 // Total number of panels chained one to another
MatrixPanel_I2S_DMA *dma_display = nullptr;
uint16_t myRED = dma_display->color565(255, 0, 0);
void setup() {
HUB75_I2S_CFG mxconfig(
PANEL_RES_X, // module width
PANEL_RES_Y, // module height
PANEL_CHAIN // Chain length
);
mxconfig.clkphase = false;
mxconfig.driver = HUB75_I2S_CFG::FM6126A;
dma_display = new MatrixPanel_I2S_DMA(mxconfig);
dma_display->begin();
dma_display->setBrightness8(60); //0-255
dma_display->clearScreen();
dma_display->fillScreenRGB888(0, 0, 200);
dma_display->setTextSize(2); // size 1 == 8 pixels high
dma_display->setTextWrap(false);
dma_display->setTextColor(myRED);
dma_display->setCursor(7,11);
dma_display->println("C85");
}
void loop() {}
您确定将您的引脚配置传递到显示设置吗?
尝试像这样修改显示初始化:
HUB75_I2S_CFG::i2s_pins _pins={R1, G1, BL1, R2, G2, BL2, CH_A, CH_B, CH_C, CH_D, CH_E, LAT, OE, CLK};
HUB75_I2S_CFG mxconfig(
PANEL_RES_X, // module width
PANEL_RES_Y, // module height
PANEL_CHAIN, // Chain length
_pins;
);
通过根据您的引脚定义定义这些“R1,G1,BL1,R2,G2,BL2,CH_A,CH_B,CH_C,CH_D,CH_E,LAT,OE,CLK”或使用您的定义。