N32G430模拟SPI的TFT液晶显示
本帖最后由 ruicortech8888 于 2023-6-5 23:48 编辑TFT液晶采用中晶园的,淘宝链接
https://item.taobao.com/item.htm?spm=a1z09.2.0.0.1bd82e8dt0GXZp&id=526012965455&_u=6c0lgu0e1a5N32G430开发板购买淘宝链接https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-24884886751.34.66566a4ewfftmk&id=718725491021
介绍下软件的开发流程
液晶的引脚定义
我们采用硬件SPI方式进行液晶这块的显示测试.SPI_CLK,SPI_MOSI接普通的GPIO口即可GPIO口我们采用如下定义PB11-----------DC(数据/命令选择)PB14-----------BLK(背光)PB10-----------RES(复位)PB12-----------CS(片选)PB15-----------MOSIPB13-----------CLK(SPI)
软件我们基于的demo工程上面进行修改.我们添加lcd.c和lcd.h,lcd_init.c和lcd_init.h初始化GPIO口时钟及GPIO口
液晶的引脚定义 LCD写命令
void LCD_WR_REG(u8 dat)
{
LCD_DC_Clr();//写命令
LCD_WR_DATA8(dat);
LCD_DC_Set();//写数据
}
LCD写数据
void LCD_WR_DATA(u16 dat)
{
LCD_CS_Clr();
SPI_WriteByte(dat>>8);
SPI_WriteByte(dat);
LCD_CS_Set();
}
SPI写数据
void SPI_WriteByte(uint8_t Data)
{
u8 i;
for(i=0;i<8;i++)
{
LCD_CLK_Clr();
if(Data&0x80)
{
LCD_MOSI_Set();
}
else
{
LCD_MOSI_Clr();
}
LCD_CLK_Set();
Data<<=1;
}
}
对于LCD的初始化指令和数据,液晶厂商都有自己的初始化参考代码,后面可直接参考对应的附件程序
液晶显示测试功能
显示测试结果
对应的参考代码
学习了.感谢分享 SPI本来速度就不高,你还用GPIO模拟?这样的话,这块屏估计啥也干不了,特别是涉及到切屏的时候,估计跟拉窗帘一样,半天都拉不完。这种TFT的屏幕驱动,如果是SPI来驱动的话,还是必须用硬件SPI+DMA才能勉强玩的转 showmyself 发表于 2023-6-6 20:02
SPI本来速度就不高,你还用GPIO模拟?这样的话,这块屏估计啥也干不了,特别是涉及到切屏的时候,估计跟拉 ...
嗯,大牛面前献丑了,发来给新手做些参考. 模拟SPI效率有点低了 这种模拟的方式,除了可以验证屏幕的好坏,我觉得在应用中的意义不大。
jobszheng 发表于 2023-6-10 09:23
这种模拟的方式,除了可以验证屏幕的好坏,我觉得在应用中的意义不大。
...
后面发一个硬件SPI+DMA方式的. 楼主 您这下就厉害了~~
期待一下楼主的大作
页:
[1]