TFT屏单片机怎么提高刷屏速度

TFT屏单片机怎么提高刷屏速度,第1张

FSMC的速度相比于串行口的屏要快。

程序上使用DMA,进行数据移动刷屏。

关键代码使用寄存器的方式进行 *** 作,而不是使用库函数

这样看你的TFT空机器的型号了,不同型号控制方法不同,

一般型号的区域块写代码基本都这样的

/*

函数名: void BlockWrite(u16 Xstart,u16 Xend,u16 Ystart,u16 Yend)

输入 : Xstart :X坐标起点

Xend :X坐标结尾

Ystart:Y坐标起点

Yend: Y坐标结尾

返回 : 无

*/

void BlockWrite(u16 Xstart,u16 Xend,u16 Ystart,u16 Yend)

{

LCD_Write_Com(0x2a) //设置X轴

LCD_Write_Data((Xstart>>8)&0x00ff) //X起点

LCD_Write_Data((Xstart&0xff))

LCD_Write_Data((Xend>>8)&0x00ff) //X结尾

LCD_Write_Data((Xend&0x00ff))

LCD_Write_Com(0x2b)//设置Y轴

LCD_Write_Data((Ystart>>8)&0x00ff) //y起点

LCD_Write_Data((Ystart&0x00ff))

LCD_Write_Data((Yend>>8)&0x00ff) //y结尾

LCD_Write_Data((Yend&0x00ff))

LCD_Write_Com(0x2c) //开始写

}

你现在看到的这两个函数LCD_ShowString()ChineseChar()是你在上层调用的,具体的函数定义你要去看底层是怎么实现的。我先简单介绍下着两个函数

LCD_ShowString(12,60,colors[0],colors[7],"-")应该是讲屏幕上x=12,y=60的地方显示一个“-”字符,字符颜色应该是你定义的colors[0],TFT屏的背景颜色是colors[7],这两个是你函数库自己定义的,可以改。

ChineseChar(20,60,1,colors[0],colors[7],1) //带 这个函数和上面那个函数大致相同,至于为什么会显示“带”,是因为最后那个1,这个程序你应该定义一个数组,在这个数组里面对你所要显示的字全部编码并存在这个数组中,最后你只需用想调用数组下标那样调用这个汉子。

至于你想显示班级、姓名 只需用把班级姓名进行编码就可以调用这个ChineseChar()函数进行显示

其实很简单的,只需用该几步就可以达到你想要的,不难~~


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11361654.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存