源码在文章底部,有帮助请点点赞,谢谢!
主要参考链接:RT-Thread开发之路(8)— 通过TFTLCD液晶屏幕显示数据_rtthread st7789-CSDN博客
按照本篇文章的流程走了一遍,成功点亮屏幕,但是屏幕底端一直有一块花屏,仔细看了源码才发现博主用的是240*240的屏幕,而我用的是240*280的,改了半天也没改成功,索性配合博主的教程移植中景园的驱动,成功点亮屏幕。
在我移植的过程中一直有个疑问就是SPI的CS(片选)为啥刚开始在cubeMX里边没有进行配置,也不知道屏幕的CS线插在哪,后来查了资料才明白CS是自由指配的(悟性不行哈哈),想用哪个口当CS都可以。
rt_hw_spi_device_attach("spi3", "spi30", GPIOC, GPIO_PIN_13);//指派PC13作为CS
所以不要怕,往下进行就行。
我使用的是SPI3,暂时不需要读取屏幕数据所以开只发送,默认的引脚即可,配置完直接生成代码就行,rtt studio现在不需要复制cubemx的内容到board.c,所以直接编译即可,大概率不会报错。
当然,别忘了配置board.h
/*-------------------------- SPI CONFIG BEGIN --------------------------*/
/** if you want to use spi bus you can use the following instructions.
*
* STEP 1, open spi driver framework support in the RT-Thread Settings file
*
* STEP 2, define macro related to the spi bus
* such as #define BSP_USING_SPI1
*
* STEP 3, copy your spi init function from stm32xxxx_hal_msp.c generated by stm32cubemx to the end of board.c file
* such as void HAL_SPI_MspInit(SPI_HandleTypeDef* hspi)
*
* STEP 4, modify your stm32xxxx_hal_config.h file to support spi peripherals. define macro related to the peripherals
* such as #define HAL_SPI_MODULE_ENABLED
*/
/*#define BSP_USING_SPI1*/
/*#define BSP_USING_SPI2*/
#define BSP_USING_SPI3
其他引脚分配:
#define LCD_PWR_PIN GET_PIN(B, 7)//即BLK
#define LCD_DC_PIN GET_PIN(B, 4)//DC
#define LCD_RES_PIN GET_PIN(B, 6)//REST
连好屏幕直接烧程序就行
源码:RT-Thread_ST7789V2_SPI: 正点原子阿波罗F429的ST7789V2硬件SPI驱动 (gitee.com)