STM32 SPI通信的总结(库函数操作) 参考代码: 1 void SPI_GPIO_Init(void) 2 { 3 GPIO_InitTypeDef GPIO_InitStructure; 4 SPI_InitTypeDef SPI_InitStructure; 5 6 NVIC_InitTy
Lcd_WriteData_DMA(temp, ((i + 1) % data_split) * 2); // 以DMA方式发送数据 } else { while (HAL_SPI_GetState(LCD_SPI) != HAL_SPI_STATE_READY) ; // 等待SPI总线空闲 uint8_t *temp = &data[(uint16_t)((i + 1) / data_split) * data_split * 2]; // 获取剩余数据 Lcd_...
2.添加spi的屏幕驱动 这里使用的是ili9488屏幕驱动芯片,使用SPI来通信,分辨率是320*480,能显示挺多东西,用来做点带屏幕的应用再合适不过了,要点亮这样的屏幕,首先需要在rtt中添加SPI驱动,并启用dma以加快画面的刷新速度,我这里用的是SPI2: 3.添加ili9488驱动和spi_lcd驱动框架: 文件内容见附件 把文件放到main,c...
最近在琢磨240*320的RGB565的LCD屏幕的写入,移植了店家提供的例程,尝试各种方法,清屏需要的时间由原来的94ms变成了24ms到26ms,使用的单片机是STM32F411CEU6,单片机最后使用的两种清屏幕的程序如下:单纯的SPI1传输和SPI1加DMA传输 单片机模拟SPI通讯实在是太慢了! 耗时测试的方法:使用了个小软件,能在收到串口信息...
TFT lcd TFT LCD,也就是我们常说的彩屏。通常像素较高,例如常见的2.8寸,320X240像素。4.0寸的,像素800X400。这些屏通常使用并口,也就是8080或6800接口(STM32 的FSMC接口);或者是RGB接口,STM32F429等芯片支持。其他例如手机上使用的有MIPI接口。总之,接口种类很多。也有一些支持SPI接口的。除非是比较小的屏幕,...
使用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); ...
SPI SPI是串行外设接口(Serial Peripheral Interface)的缩写,SPI是一种高速、全双工、同步通信的通信总线,被广泛应用在ADC、LCD等与MCU的通信过程中,特点就是快。 SPI协议 像IIC、串口一样,SPI也有其通信协议,一般按照分层的思想来学习SPI的协议,主要分为物理层和协议层。
如果你没有使用HAL库,可以把HAL_SPI_Transmit替换掉。 发送数据与指令的区别就在于LCD_CD引脚的电平状态,两个函数如下: /** * @brief 向LCD屏幕写一个字节的命令 * @param 命令内容,具体命令可以参照手册 * @retval None */staticvoidLCD_WriteCommand(uint8_ttemp){ ...
使用STM32F4 自带的 SPI来实现对外部 FLASH(W25Q128)的读写,并将结果显示在 TFTLCD 模块上。 03. 硬件模块 开机的时候先检测 W25Q128 是否存在,然后在主循环里面检测两个按键,其中 1 个按键(KEY1)用来执行写入 W25Q128 的操作,另外一个按键(KEY0)用来执行读出操作,在 TFTLCD 模块上显示相关信息。同时用 DS...