|
@@ -8,6 +8,10 @@
|
|
#define SDA 4 // data in to ILI9488
|
|
#define SDA 4 // data in to ILI9488
|
|
#define SDO 5 // data out from ILI9488
|
|
#define SDO 5 // data out from ILI9488
|
|
|
|
|
|
|
|
+#define ILI9488_CMD_READ_ID1 0xDA
|
|
|
|
+#define ILI9488_CMD_READ_ID2 0xDB
|
|
|
|
+#define ILI9488_CMD_READ_ID3 0xDC
|
|
|
|
+
|
|
void setup()
|
|
void setup()
|
|
{
|
|
{
|
|
Serial.begin(1000000); // JCB
|
|
Serial.begin(1000000); // JCB
|
|
@@ -43,20 +47,41 @@ void out_8(uint8_t b)
|
|
digitalWrite(CSX, HIGH);
|
|
digitalWrite(CSX, HIGH);
|
|
}
|
|
}
|
|
|
|
|
|
-void loop()
|
|
|
|
|
|
+uint8_t rdreg(uint8_t reg)
|
|
{
|
|
{
|
|
|
|
+ uint8_t r;
|
|
|
|
+
|
|
digitalWrite(DCX, LOW);
|
|
digitalWrite(DCX, LOW);
|
|
- out_8(0xda); // RDID1
|
|
|
|
|
|
+ out_8(reg);
|
|
|
|
|
|
- Serial.println();
|
|
|
|
digitalWrite(DCX, HIGH);
|
|
digitalWrite(DCX, HIGH);
|
|
digitalWrite(CSX, LOW);
|
|
digitalWrite(CSX, LOW);
|
|
for (int i = 0; i < 8; i++) {
|
|
for (int i = 0; i < 8; i++) {
|
|
digitalWrite(SCL, LOW);
|
|
digitalWrite(SCL, LOW);
|
|
digitalWrite(SCL, HIGH);
|
|
digitalWrite(SCL, HIGH);
|
|
- Serial.println(digitalRead(SDO), DEC);
|
|
|
|
|
|
+ r = (r << 1) | digitalRead(SDO);
|
|
}
|
|
}
|
|
digitalWrite(CSX, HIGH);
|
|
digitalWrite(CSX, HIGH);
|
|
|
|
+ return r;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+uint8_t wrreg(uint8_t reg, uint8_t val)
|
|
|
|
+{
|
|
|
|
+ digitalWrite(DCX, LOW);
|
|
|
|
+ out_8(reg);
|
|
|
|
+ digitalWrite(DCX, HIGH);
|
|
|
|
+ out_8(val);
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+void loop()
|
|
|
|
+{
|
|
|
|
+ Serial.println();
|
|
|
|
+ Serial.print("ID1: ");
|
|
|
|
+ Serial.println(rdreg(ILI9488_CMD_READ_ID1), HEX);
|
|
|
|
+ Serial.print("ID2: ");
|
|
|
|
+ Serial.println(rdreg(ILI9488_CMD_READ_ID2), HEX);
|
|
|
|
+ Serial.print("ID3: ");
|
|
|
|
+ Serial.println(rdreg(ILI9488_CMD_READ_ID3), HEX);
|
|
|
|
|
|
delay(3000);
|
|
delay(3000);
|
|
}
|
|
}
|