wanli
发表于 2025-6-24 20:56:37
wanli 发表于 2025-6-24 20:14
有没有这个SPI-TFT屏程序能分享一下吗
我现在是SPI屏 ST7789 能不能借你的 SPI-tft 加 QSPI-FLASH=>DMA-P2P
wanli
发表于 2025-6-24 22:37:08
C_wolf 发表于 2025-6-24 22:11
下完了,告诉我一下。
谢谢下完了
tomsmiss
发表于 2025-7-15 14:53:53
这个代码好奇怪,插这里可以显示
插第二个口就不显示了
并且显示油表那里是黑色的,我就改了个红色,然后也是不显示
C_wolf
发表于 2025-7-15 20:19:10
tomsmiss 发表于 2025-7-15 14:53
这个代码好奇怪,插这里可以显示
插第二个口就不显示了
并且显示油表那里是黑色的,我就改了个红色,然后也 ...
这个程序是AI8051U开发箱及配套冲哥液晶的,你这个屏要自己适配一下。
从图片来看,你这个DMAP2P可能有问题,背景图没有正常显示。
C_wolf
发表于 2025-7-18 14:14:20
模拟仪表盘@AI8051U实验箱:
----------------------------------------------------------------------------------------------------------------------------------------
QSPI-Flash ==> DMA-P2P ==> TFT-ILI9341 / i8080-8位并口屏
DEMO:
下载时, 选择时钟 40MHz
----------------------------------------------------------------------------------------------------------------------------------------
QSPI-Flash ==> DMA-P2P ==> IPS-ST7789 / SPI串口屏
DEMO:
下载时, 选择时钟 40MHz
tomsmiss
发表于 2025-9-4 10:06:47
请问下,我用这个8080时序的程序用试验箱点亮屏幕没有问题,我自己设计的一款板子,数据口试用的P1口,CS,RS,WR,RD用的P3口,复位脚没有变,初始化也改了对应的脚位,为什么没显示呢,我还要更改其他地方吗?
C_wolf
发表于 2025-9-4 11:31:59
tomsmiss 发表于 2025-9-4 10:06
请问下,我用这个8080时序的程序用试验箱点亮屏幕没有问题,我自己设计的一款板子,数据口试用的P1口,CS,R ...
这个程序是用的硬件TFT,8位数据只支持P2,其他功能引脚也只能从四组组合中选一种。
你要是用P1,只能软件模拟了。
参考例程
37.1-2.4寸ILI9341驱动TFT显示屏实验程序-带触摸功能,IO模拟I8080接口程序
tomsmiss
发表于 2025-9-4 16:08:00
C_wolf 发表于 2025-9-4 11:31
这个程序是用的硬件TFT,8位数据只支持P2,其他功能引脚也只能从四组组合中选一种。
好的好的,感谢指导
C_wolf
发表于 2025-9-4 18:31:58
tomsmiss 发表于 2025-9-4 16:08
好的好的,感谢指导
没事,你要是想用到P2P功能,只能用硬件的,那就得重新设计电路了
tomsmiss
发表于 2025-9-5 18:18:52
C_wolf 发表于 2025-9-4 18:31
没事,你要是想用到P2P功能,只能用硬件的,那就得重新设计电路了
void LCD_write(u8 DATA)
{
LCM_CS = 0;
LCM_WR = 0;
// LCD_DataPortH = HVAL;
// LCD_DataPortL = LVAL;
P1=DATA;
LCM_WR = 1;
LCM_CS = 1;
}
u16 LCD_read(void)
{
u16 d;
LCM_CS = 0;
LCM_RD = 0;
delay_us(1); //delay 1 us
// d = LCD_DataPortH;
// d = (d<<8)|LCD_DataPortL;
d =P1;
LCM_RD = 1;
LCM_CS = 1;
return d;
}
void LCD_WR_REG(u8 Reg)
{
LCM_RS=0;
#if LCD_USE8BIT_MODEL
LCD_write(Reg&0xFF);
#else
LCD_write((Reg>>8)&0xFF,Reg&0xFF);
#endif
}
void LCD_WR_DATA(u8 Data)
{
LCM_RS=1;
#if LCD_USE8BIT_MODEL
LCD_write(Data&0xFF);
#else
LCD_write((Data>>8)&0xFF,Data&0xFF);
#endif
}
void LCD_WR_REG_DATA(u8 Reg, u16 dat)
{
LCD_WR_REG(Reg);
LCD_WR_DATA((u8)(dat>>8));
LCD_WR_DATA((u8)dat);
}
void LCD_WR_DATA_16Bit(u16 dat)
{
LCD_WR_DATA((u8)(dat>>8));
LCD_WR_DATA((u8)dat);
}
这个改成软件模拟的了,屏是亮了,就是没内容,这是什么问题呢?能出个模拟的程序不