void SendByte_SN76490(uint8_t data) { digitalWrite(CHIP_EN, LOW); // Enable CHIP (active low) while (digitalRead(READY_PIN)){}; // Wait until READY is LOW // Put data on data bus. digitalWrite(DATA7, data & (1<<0) ? HIGH:LOW); digitalWrite(DATA6, data & (1<<1) ? HIGH:LOW); digitalWrite(DATA5, data & (1<<2) ? HIGH:LOW); digitalWrite(DATA4, data & (1<<3) ? HIGH:LOW); digitalWrite(DATA3, data & (1<<4) ? HIGH:LOW); digitalWrite(DATA2, data & (1<<5) ? HIGH:LOW); digitalWrite(DATA1, data & (1<<6) ? HIGH:LOW); digitalWrite(DATA0, data & (1<<7) ? HIGH:LOW); // Pulse WRITE_EN digitalWrite(WRITE_EN,LOW); delayMicroseconds(100); digitalWrite(WRITE_EN,HIGH); // Wait until READY is HIGH digitalWrite(CHIP_EN,HIGH); while(!digitalRead(READY_PIN)){};// Make sure READY is HIGH }