ili9488.ino 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. #include <EEPROM.h> //' A{
  2. #include <SPI.h>
  3. #include <GD2.h>
  4. #define CSX 6 // chip select, active low
  5. #define DCX 2 // data/command select
  6. #define SCL 3 // clock, rising edge
  7. #define SDA 4 // data in to ILI9488
  8. #define SDO 5 // data out from ILI9488
  9. void setup()
  10. {
  11. Serial.begin(1000000); // JCB
  12. // GD.begin(0);
  13. pinMode(CSX, OUTPUT);
  14. pinMode(DCX, OUTPUT);
  15. pinMode(SCL, OUTPUT);
  16. pinMode(SDA, OUTPUT);
  17. pinMode(SDO, INPUT);
  18. digitalWrite(CSX, HIGH);
  19. }
  20. void loop2()
  21. {
  22. GD.ClearColorRGB(0x103000);
  23. GD.Clear();
  24. GD.cmd_text(GD.w / 2, GD.h / 2, 31, OPT_CENTER, "Hello world");
  25. GD.swap();
  26. }
  27. void out_8(uint8_t b)
  28. {
  29. digitalWrite(CSX, LOW);
  30. for (int i = 0; i < 8; i++) {
  31. digitalWrite(SCL, LOW);
  32. digitalWrite(SDA, (b >> 7) & 1);
  33. digitalWrite(SCL, HIGH);
  34. b <<= 1;
  35. }
  36. digitalWrite(CSX, HIGH);
  37. }
  38. void loop()
  39. {
  40. digitalWrite(DCX, LOW);
  41. out_8(0xda); // RDID1
  42. Serial.println();
  43. digitalWrite(DCX, HIGH);
  44. digitalWrite(CSX, LOW);
  45. for (int i = 0; i < 8; i++) {
  46. digitalWrite(SCL, LOW);
  47. digitalWrite(SCL, HIGH);
  48. Serial.println(digitalRead(SDO), DEC);
  49. }
  50. digitalWrite(CSX, HIGH);
  51. delay(3000);
  52. }