小熊派FreeRTOS+SPI+DMA 驱动 TFT-LCD 一、文章前言 入手了一块小熊派开发板,看到他板子上搭载了一块 TFT-LCD 编写编写驱动代码来使用 TFT ,该 TFT 通过 ST7789 驱动芯片进行驱动,本文通过 CubeMX 软件配置硬件 SPI + DMA 方式来驱动 ST7789,同时配置 FreeRTOS 方便控制 DMA, 文章 ST7789 的驱动代码参考 Mcu...
lcd_data_speed = 60 ; SPI 驱动频率 60MHz lcd_pwm_used = 1 ; lcd使用pwm背光 lcd_pwm_ch = 1 ; lcd使用pwm背光通道1 lcd_pwm_freq = 5000 ; lcd使用pwm背光频率5000Hz lcd_pwm_pol = 0 ; lcd使用pwm背光相位0 lcd_if = 0 ; lcd使用spi接口,0-spi, 1-dbi lcd_pixel_fmt = 11 ; 以下...
{LCD_WriteCommand(0x2A);//设置列地址LCD_WriteData(0x00);LCD_WriteData(0x02);LCD_WriteData(0x00);LCD_WriteData(0x81);LCD_WriteCommand(0x2B);//设置行地址LCD_WriteData(0x00);
SPI 驱动 TFT LCD 屏 R128 平台提供了 SPI DBI 的 SPI TFT 接口,具有如下特点: Supports DBI Type C 3 Line/4 Line Interface Mode Supports 2 Data Lane Interface Mode Supports data source from CPU or DMA Supports RGB111/444/565/666/888 video format Maximum resolution of RGB666 240 x 320@30H...
关于STM32F4单片机,使用HAL库自带的SPI,驱动TFTLCD屏幕的资料网上好像不太多,正好最近我做了这项工作,把成果分享给大家。我的代码实现了这些功能:任意坐标画点,指定首尾坐标画线,画方框,指定区域显示彩图,显示16* 16或者12* 12的汉字、ASCII码,并附带ASCII码表与少量的汉字字库。
首先配置好DMA的初始化 #include "MyDMA.h" // Device header #include "lcd.h" u8 SendBuff[2*240]; DMA_InitTypeDef DMA_InitStructure; u32 DMA1_MEM_LEN; void MYDMA_Config(DMA_Channel_TypeDef* DMA_CHx,u32 cpar,u32 cmar,u16 cndtr) ...
SPI 驱动 TFT LCD 屏 R128 平台提供了 SPI DBI 的 SPI TFT 接口,具有如下特点: Supports DBI Type C 3 Line/4 Line Interface Mode upports 2 Data Lane Interface Mode Supports data source from CPU or DMA Supports RGB111/444/565/666/888 video format ...
使用spi加dma驱动ST7789显示屏 在使dma搬运数据后刷新速率有了明显的提升 代码 #include "delay.h" #include "sys.h" #include "st7789.h" int main(void) { delay_init(); initlcd(); while(1){ fillScreen(0xf800); fillScreen(0xffff); ...
原来是阻塞式的,即发送成功后才会到LCD_CS_SET,不存在没发送完就关闭片选的情况。 现在全部送到DMA里面,不确定会不会产生没发送完,就关闭片选的情况,因此删除。 删除没有影响是因为目前就只驱动这一个SPI通讯的模块,不存在片选的使用情况,一直保持使能也可以。
本文实现DMA快速显示文字 汉字点阵通常是16*16点阵,那么用DMA一次性显示汉字,应该至少申请480*16个字节的空间,用于显示一行文字,其中480是屏幕一行用DMA驱动所需内存。 一、 源码 HX8347.h #ifndefUSER_HX8347_H_ #defineUSER_HX8347_H_ #defineSPI_hardware ...