[STM32F1] STM32F103RET6 emWin ILI9488 [SPI DMA]

[复制链接]
1730|5
 楼主| xfcjava2 发表于 2020-5-9 20:49 | 显示全部楼层 |阅读模式

1、使用3.5寸SPI触摸显示屏,分辨率:480*320 ;驱动IC: ILI9488;
     采用的是SPI DMA 驱动,使用emWin。


3.5英寸SPI触摸显示屏.jpg

2、TFT LCD驱动接口部分:
     2.8inch,3.5inch接口通用
    TFT LCD接口电路.jpg

3、项目产品照片:

STM32高精度温控板[4Ch]-4.jpg

4、产品配线图:


STM32高精度温控板[4Ch]-1.jpg


STM32高精度温控板[4Ch]-2.jpg


5、产品适配TFT LCD 对照:
STM32高精度温控板[4Ch]-3.jpg


6、应用说明:
  a.3.5英寸SPI触摸显示屏模块,采用SPI四线接口,只能支持RGB666数据模式。
      【说明: 想采用RGB565模式,怎么测试都不能正常初始化!】

  b.因为原来项目用的是2.8英寸SPI触摸显示屏模块,驱动IC是: ILI9341,采用RGB565模式,是可以正常使用的。
   现在采用3.5英寸SPI触摸显示屏模块,想继续选用原来的模式,怎么测试都没有成功,只好改成RGB666模式的,
   才正常运行。

  c. 原来采用RGB565模式的SPI DMA驱动,也就必须修改,才能正常运行。

  请看下面的DMA驱动代码部分:  
    LCD_Core.rar (1.55 KB, 下载次数: 68)

   ILI9488_ucgui.rar (1.94 KB, 下载次数: 65)

  void LCD_putPixel(u16 x, u16 y, u16 color) {
  
   u8 t3clr[3];

   t3clr[0]=(color>>8)&0xF8;
   t3clr[1]=(color>>3)&0xFC;
   t3clr[2]=color<<3;

    LCD_setAddressWindowToWrite(x, y, x, y);   
    dmaSendData8(t3clr, 3);   
}

static void LCD_putPixelCont(u16 x, u16 y, u16 color) {
   LCD_putPixel(x,y,color);
}

void LCD_fillRect(u16 x1, u16 y1, u16 w, u16 h, u16 color) {
    u32 count = w * h;
    LCD_setAddressWindowToWrite(x1, y1, (u16) (x1 + w - 1), (u16) (y1 + h - 1));   
    dmaFill8(color, count);   
}


void LCD_fillScreen(u16 color) {
    LCD_fillRect(0, 0, LCD_getWidth(), LCD_getHeight(), color);
}







mmuuss586 发表于 2020-5-16 20:26 | 显示全部楼层
这板子成本不低;

DCDC隔离电源模块都用这么好了,还有继电器;

也就不差晶振和屏的钱,晶振可以换贴片的,屏也可以用好些的
 楼主| xfcjava2 发表于 2020-5-18 19:47 | 显示全部楼层
mmuuss586 发表于 2020-5-16 20:26
这板子成本不低;

DCDC隔离电源模块都用这么好了,还有继电器;

多谢指点!

彩色显示屏,对于用户来说:只是一个辅助的调试显示;
电路板都具有隔离RS-485接口了,用户根本用不到显示屏。
dongnanxibei 发表于 2020-5-19 08:55 | 显示全部楼层
分享的好东西啊, 感谢。
幻森 发表于 2023-1-3 15:51 | 显示全部楼层
AdaMaYun 发表于 2023-1-4 14:24 | 显示全部楼层
好详细啊,一楼给得到建议很中肯
您需要登录后才可以回帖 登录 | 注册

本版积分规则

31

主题

470

帖子

43

粉丝
快速回复 在线客服 返回列表 返回顶部