Untitled

 avatar
unknown
c_cpp
10 months ago
1.2 kB
16
Indexable
#include <SPI.h>

// Pin definitions (change if needed)
#define CS_PIN    10
#define CD_PIN    9   // Command/Data select
#define RESET_PIN 8

void sendCommand(uint8_t cmd) {
  digitalWrite(CD_PIN, LOW);   // Command mode
  digitalWrite(CS_PIN, LOW);
  SPI.transfer(cmd);
  digitalWrite(CS_PIN, HIGH);
}

void sendData(uint8_t data) {
  digitalWrite(CD_PIN, HIGH);  // Data mode
  digitalWrite(CS_PIN, LOW);
  SPI.transfer(data);
  digitalWrite(CS_PIN, HIGH);
}

void resetChip() {
  digitalWrite(RESET_PIN, LOW);
  delay(10);
  digitalWrite(RESET_PIN, HIGH);
  delay(10);
}

void setup() {
  pinMode(CS_PIN, OUTPUT);
  pinMode(CD_PIN, OUTPUT);
  pinMode(RESET_PIN, OUTPUT);

  digitalWrite(CS_PIN, HIGH);

  SPI.begin();
  SPI.beginTransaction(SPISettings(1000000, MSBFIRST, SPI_MODE0));

  resetChip();

  // Example init sequence (from datasheet, may vary)
  sendCommand(0xE0); // Display ON
  sendCommand(0xA0); // Set mode (example)
}

void loop() {
  // Example: write digits "1234"
  sendCommand(0x20); // Address set to 0

  sendData(0x06); // Digit "1"
  sendData(0x5B); // Digit "2"
  sendData(0x4F); // Digit "3"
  sendData(0x66); // Digit "4"

  delay(1000);
}
Editor is loading...
Leave a Comment