跳到主要内容

STM32 使用说明

STM32F103RBT6使用说明

硬件连接

准备材料

  • RGB-Matrix-P2.5-64x32(本产品)
  • 杜邦线 2 × 8PIN(本产品)
  • STM32F103RB(须另购)

硬件连接示意图

提示
  • 例程是基于HAL库进行开发的。下载程序,找到STM32程序文件目录,打开STM32\STM32F103RBT6\MDK-ARM目录下的HUB75.uvprojx,即可看到程序。
  • 编译并下载,然后连接好屏幕,即可进入显示(确保接入了外部电源5V 4A,否则驱动电流取STM32的GPIO,导致IO损坏)

3. STM32 工程参数设置

代码说明

int main(void)
{
/* USER CODE BEGIN 1 */

/* USER CODE END 1 */

/* MCU Configuration--------------------------------------------------------*/

/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();

/* USER CODE BEGIN Init */

/* USER CODE END Init */

/* Configure the system clock */
SystemClock_Config();

/* USER CODE BEGIN SysInit */

/* USER CODE END SysInit */

/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_USART2_UART_Init();
MX_TIM1_Init();
/* USER CODE BEGIN 2 */

DWT_Init();
HUB75_Init();
HUB75_SetBrightness(255); // the parameter is 0-255,the higher the number,the brighter the screen is
HUB75_SetRefreshRate(1); // the parameter is 1-4,the higher the number,the lower the refresh rate is
App_DrawGuiScreen();

/* USER CODE END 2 */

/* Infinite loop */
/* USER CODE BEGIN WHILE */
UWORD page = 0U;
while (true)
{
App_WaitMsWithRefresh(1000U);
page = (UWORD)((page + 1U) % 3U);
App_DrawPage(page);
/* USER CODE END WHILE */

/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
}

代码解释

  • App_DrawPage()

    • 根据页码绘制不同的显示内容。
    • 第 1 页显示点、线、圆和边框等基础图形;
    • 第 2 页显示 "Hello" 和 "world" 文本;
    • 第 3 页显示 "Page3" 和一个数字。
    • 绘制完成后,会把缓冲区内容加载到 HUB75 屏幕。
  • HUB75_LoadRGB565Frame(gui_framebuffer, HUB75_PANEL_WIDTH, HUB75_PANEL_HEIGHT)

    • 把当前帧缓冲区中的 RGB565 图像数据传送给 HUB75 显示驱动,准备显示到 LED 点阵屏上。
  • App_WaitMsWithRefresh()

    • 在等待指定时间的同时持续调用 HUB75_Display() ,保证屏幕在延时期间一直刷新,避免画面闪烁或熄灭。
  • App_DrawGuiScreen()

    • 初始化绘图缓冲区,设置画布参数,并默认先绘制第 1 页内容。
  • HUB75_SetBrightness(255)

    • 设置屏幕亮度为最大值,使显示内容更清晰明亮。
  • HUB75_SetRefreshRate(1)

    • 设置 HUB75 屏幕刷新参数,用于控制显示稳定性和刷新速度。
  • while (true)

    • 程序主循环,每隔 1 秒切换一次页面,让 3 个界面内容按顺序循环显示。
  • page = (page + 1U) % 3U

    • 控制页码在 0、1、2 之间循环切换,保证图形页、文字页和数字页依次重复显示。
  • main()

    • 整个程序入口,负责初始化 STM32 外设和 HUB75 显示驱动,创建初始画面,并在主循环中不断切换不同页面内容进行显示。

运行效果