搞定基本的GPIO,就可以上TFT屏幕,本次基于软件SPI驱动。
首先介绍下本次使用的TFT屏幕。
主控是ILI9225,基于SPI协议。
核心驱动IO有,与RA开发板的接线方式为:
CS——》P208
RST——》P207
RS——》P201
SDA——》P109
CLK——》P110
对应5个IO口全部设置为输出。
TFT驱动文件主要为TFT.c和TFT.h
主函数在hal_entry.c中。
Lcd_Init(); //初始化LCD
delayms(1); //延时一段时间
Lcd_Clear(black );
while(1)
{
Show_RGB(0,0,176,44,blue);
Show_RGB(0,44,176,88,green);
Show_RGB(0,88,176,132,magenta);
Show_RGB(0,132,176,176,red);
Show_RGB(0,176,176,220,yellow);
Show_RGB(0,0,176,44,yellow);
Show_RGB(0,44,176,88,red);
Show_RGB(0,88,176,132,blue2);
Show_RGB(0,132,176,176,green);
Show_RGB(0,176,176,220,blue);
}
模拟SPI协议的接口定义在TFT.c中。
核心模拟SPI函数为以下:
voidSPIv_WriteData(unsignedchar Data)
{
unsignedchar i=0;
for(i=8;i>0;i--)
{
if(Data&0x80)
{SDA_1;}
else {SDA_0;}
CLK_0;
// delayms(1);
CLK_1;
Data<<=1;
}
}
一次性烧写演示成功!
下一节再学习硬件SPI驱动。
更多回帖