如何驱动TIKY家的5寸IPS屏
本帖最后由 Ray______ 于 2021-3-5 04:10 编辑由于项目需求原因TK499不符合要求,改用了新唐的NUC977。
问淘宝客服要了相关资料,驱动屏相关的资料都是TK499的例子,目前疑惑点主要在于液晶屏初始化代码的两个驱动函数WriteComm(); WriteData(); ,以及引脚SDI、RS、WR、RD的使用。
资料用的是TK499的寄存器操作,想知道IO模拟是怎么初始化的。
要把这个屏用在其它品牌的单片机中,其实也是很简的,因为例程虽然是用TK499来编写,但是初始用到的三个GPIO都是用一个宏定义来标记的(说白了就是一个GPIO的高低电平而矣 ),你把CS,WR(SCK),及SDI,这三根线,用其它品牌单片机的GPIO替换就可以了。 tiky 发表于 2021-3-8 13:17
要把这个屏用在其它品牌的单片机中,其实也是很简的,因为例程虽然是用TK499来编写,但是初始用到的三个GPI ...
了解,有没有的时序图或者一个demo我参考下。主要涉及到整个字节的传输细节。
另外,RS和RD引脚是不需要控制的么 #if TK020F9168
void WriteComm(unsigned short cmd) //
{
TK80->CR = 0x000c0b04;//
TK80->CMDIR = cmd>>8;while(TK80->SR & 0x10000);
TK80->CMDIR = cmd;while(TK80->SR & 0x10000);
TK80->CR = 0x000c0b06;//
}
void WriteData(unsigned short data) //
{
TK80->CR = 0x000c0b04;
TK80->DINR = data>>8;while(TK80->SR & 0x10000);
TK80->DINR = data;while(TK80->SR & 0x10000);
TK80->CR = 0x000c0b06;
}
#elif TK020RB424||TK022RB417
void WriteComm(unsigned short cmd)
{
TK80->CMDIR = ((cmd&0xff00)<<2)|((cmd&0x00ff)<<1);
}
void WriteData(unsigned int data)
{
TK80->DINR = ((data&0xff00)<<2)|((data&0x00ff)<<1);
}
#else
void WriteComm(unsigned short cmd) //
{
TK80->CMDIR = cmd;
}
void WriteData(unsigned int data) //·¢ËÍÊý¾Ý
{
TK80->DINR = data;
}
#endif
看了下例程,这里列了三种条件编译,只有其中一种操作了CS,没有具体的另外两个IO的操作。
附上屏幕链接:
https://item.taobao.com/item.htm?spm=a1z10.1-c.w4004-1175222627.6.337948e6e2VeZO&id=524686134827
你用的别家的NUC977,应该是用RGB接口的,你应该用那个简单的例程来移植,而不是用一个复杂MCU的版本(8080版本)程序来移植。客服给你的资料里有一个“TK499_LTDC_RGB888_5寸_简单刷纯色写中英文字例程.rar”这个压缩包,所以驱动都在LCD.C及LCD.H里面,你上面已经找出了根函数,WriteComm(); 与WriteData(); 每个根函数里面只有6行代码,只用了CS,WR(SCK),及SDI这三根线,源文件及头文件可以说得是相当简单,你可能走错方向了。你要用哪种模式,跟淘宝客服确认一下也行,以免走弯路了。 tiky 发表于 2021-3-10 22:50
你用的别家的NUC977,应该是用RGB接口的,你应该用那个简单的例程来移植,而不是用一个复杂MCU的版本(8080 ...
十分感谢!!该例程解决了我的问题。 Ray______ 发表于 2021-3-10 22:58
十分感谢!!该例程解决了我的问题。
NUC977与TKM32F499相比,优势在哪里? nuc977有以太网,Linux 冈板日川 发表于 2021-3-18 21:58
NUC977与TKM32F499相比,优势在哪里?
多串口,有USB HOST。 Ray______ 发表于 2021-3-23 22:41
多串口,有USB HOST。
在刷屏速度上,哪个快一点?
页:
[1]