|
发表于 2024-6-22 08:33:36
|
显示全部楼层
试试这个,我读出来是0x9488,注意,读的速度不要太快!
void ILI9488_ReadID(void)
{
unsigned char buf[4];
// SPI 读取速度较低
SPI_SetSpeed(SPI1, 32); // MCLK/32
ILI9488_WriteCmd(0xB0);
ILI9488_WriteParam(0x00); // SDA_EN = 0
ILI9488_WriteCmd(0xFB);
ILI9488_WriteParam(0x80); // SPI_READ_EN = 1, 1st
ILI9488_WriteCmd(0xD3);
buf[0] = SPI_WriteByte(SPI1, 0xFF); // XX
ILI9488_WriteCmd(0xFB);
ILI9488_WriteParam(0x81); // SPI_READ_EN = 1, 2nd
ILI9488_WriteCmd(0xD3);
buf[1] = SPI_WriteByte(SPI1, 0xFF); // 00
ILI9488_WriteCmd(0xFB);
ILI9488_WriteParam(0x82); // SPI_READ_EN = 1, 3th
ILI9488_WriteCmd(0xD3);
buf[2] = SPI_WriteByte(SPI1, 0xFF); // 94
ILI9488_WriteCmd(0xFB);
ILI9488_WriteParam(0x83); // SPI_READ_EN = 1, 4th
ILI9488_WriteCmd(0xD3);
buf[3] = SPI_WriteByte(SPI1, 0xFF); // 88
g_ChipID = buf[2];
g_ChipID = g_ChipID<<8;
g_ChipID |= buf[3];
ILI9488_WriteCmd(0xFB);
ILI9488_WriteParam(0x00); // SPI_READ_EN = 0
// 恢复高速写
SPI_SetSpeed(SPI1, 2); //MCLK/2
} |
|