【前言】 我的测评项目为移植toucGFX,因此驱动LCD为第一步。本章主要介绍如何配置SPI并实现驱动LCD屏。 【硬件】 1、NUCLEO-H533RE开发板 2、ST7735LCD屏为spi接口模式。 【硬件连接】 spi选用spi3,只需要使用到SCK、MOSI两线。 LCD屏的背光直接接到3.3V,不需要配置。 DC、RST、CS为分为PC7、PC6、PC9。 【实现步骤】 1、打开stm32cubIDE配置NUCLEO-H533RE开发板的基础工程。 2、打开spi3,配置GPIO为PB1、PC12 3、修改通信速率为very hight,要不然跑到高频率就不会显示。 4、配置DC、RST、CS,以及其标签如下图所示: 5、配置spi的参数如下: 保存工程并打开IDE编辑器。 6、添加st7735.c/h,fonts.c/h到工程中。 修改st7735.h中的spi为hspi3,并确认一下GPIO的别名是否正确: 如果屏的分辨率不对,可以修改对应的宽度与高度。 6、在主函数中添加头文件,并添加测量代码如下: ''' ST7735_Init(); / USER CODE END 2 / / Initialize leds / BSP_LED_Init(LED_GREEN); / Initialize USER push-button, will be used to trigger an interrupt each time it's pressed./ BSP_PB_Init(BUTTON_USER, BUTTON_MODE_EXTI); / Initialize COM1 port (115200, 8 bits (7-bit data + 1 stop bit), no parity / BspCOMInit.BaudRate = 115200; BspCOMInit.WordLength = COM_WORDLENGTH_8B; BspCOMInit.StopBits = COM_STOPBITS_1; BspCOMInit.Parity = COM_PARITY_NONE; BspCOMInit.HwFlowCtl = COM_HWCONTROL_NONE; if (BSP_COM_Init(COM1, &BspCOMInit) != BSP_ERROR_NONE) { Error_Handler(); } / Infinite loop / / USER CODE BEGIN WHILE / while (1) { ST7735_FillScreen(ST7735_RED); HAL_Delay(500); ST7735_FillScreen(ST7735_GREEN); HAL_Delay(500); ST7735_FillScreen(ST7735_BLUE); HAL_Delay(500); ST7735_DrawString(0, 0, "CSDN666", ST7735_BLUE, ST7735_BLACK, &Font_11x18); HAL_Delay(500); / USER CODE END WHILE / / USER CODE BEGIN 3 / } ''' 下载到开发板,可以正常的驱动屏: |
NUCLEO-H563ZI刷入Micropython固件并点亮LED灯
【NUCLEO-H533RE评测】+点亮小灯
【NUCLEO-H533RE评测】+09 低功耗测试
【NUCLEO-H533RE评测】+08 初识FreeRtos
【NUCLEO-H533RE评测】+07 IIC调试
【NUCLEO-H533RE评测】+06 ADC调试
【NUCLEO-H533RE评测】+05 调试PWM
【NUCLEO-H533RE评测】IAR CRC 镜像校验
【NUCLEO-H533RE评测】+环境搭建 cube点亮LED灯
【NUCLEO-H533RE评测】4、移植TouchGFX
附工程代码6 K j Z6 B2 }( m. e5 L