📄 3spi 18位.txt
字号:
各位先進
小弟剛加入TFT的行列,目前手頭上有個案子採用的就是R61503B這個IC。而且它的接口是採用 3SPI+18bit RGB interface
目前小弟試過所有的方法。都無法點亮跟傳送圖案進去
懇請各位先進指導小弟,或者提供原始代碼給小弟參考好嗎?拜託 拜託
以下是我的原始代碼,若各位先進有空也懇請先進幫忙指導。看看小弟哪個地方錯了,萬分感激
void Initial_R61503(void)
{
uint8 i;
IOCLR = nRST;
DelayX05(4);//wait 2 sec
IOSET = nRST;
SPI3_C(0x0007);
SPI3_D(0x0000);
SPI3_C(0x0012);
SPI3_D(0x0000);
DelayX05(1);
for(i=0;i<4;i++)
{
SPI3_C(0x0000); //reset ac
//SPI3_D(0x0000);
}
SPI3_C(0x00a4);
SPI3_D(0x0001);
DelayX05(1);
SPI3_C(0x0007);
SPI3_D(0x0001);
SPI3_C(0x0018);//power control 5
SPI3_D(0x0001);
SPI3_C(0x0010);//power control 1
SPI3_D(0x14a0);
SPI3_C(0x0011);//power control 2
SPI3_D(0x0017);
SPI3_C(0x0012);//power control 3
SPI3_D(0x1011);
SPI3_C(0x0013);//power control 4
SPI3_D(0x8d07);
SPI3_C(0x0012);//power control 3
SPI3_D(0x1031);
SPI3_C(0x0007);
SPI3_D(0x0001);
DelayX05(1);
SPI3_C(0x0007);
SPI3_D(0x0021);
DelayX05(1);
SPI3_C(0x0007);//display on
SPI3_D(0x0233);
}
void SPI3_C(uint16 Comm)
{
SPI3_IF8(0x74); //start byte
SPI3_IF16(Comm);
SPI3_Stop();
}
void SPI3_D(uint16 Data)
{
SPI3_IF8(0x76);
SPI3_IF16(Data);
SPI3_Stop();
}
void SPI3_IF8(uint8 Data)
{
uint8 i; //for conut
IOCLR = nCS;
IOCLR = SCL;
IOCLR = SDI;
ShortDelay(1);
for (i=0; i<8; i++)
{
if ( Data & 0x80)
IOSET = SDI;
else
IOCLR = SDI;
IOSET = SCL;
ShortDelay(1);
IOCLR = SCL;
Data= Data <<1;
}
ShortDelay(10);//Dumny delay
}
//================================
void SPI3_IF16(uint16 Data)
{
uint8 i,j; //for conut
IOCLR = nCS;
IOCLR = SCL;
ShortDelay(1);
IOCLR = SDI;
for (j=0; j<2; j++)
{
for (i=0; i<8; i++)
{
if ( Data & 0x80)
IOSET = SDI;
else
IOCLR = SDI;
IOSET = SCL;
ShortDelay(1);
IOCLR = SCL;
Data= Data <<1;
}
ShortDelay(10);
Data= Data <<1;
}
}
void SPI3_Stop(void)
{
IOSET = SCL;
IOSET = SDI;
IOSET = nCS;
}
我想:IOSET是1,IOCLR是0,但是你为什么有这样的语句:
IOSET = SCL;
IOSET = SDI;
......
应该是
SCL = IOSET;
SDI = IOSET;
是不是阿?
for (i=0; i<8; i++)
{
if ( Data & 0x80)
IOSET = SDI;
else
IOCLR = SDI;
////////////////////
Data与1000 0000应该按位与 (bit)(A & B)
串口初始化很重要。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -