ZHCAFU4 October 2025 TXE8116-Q1 , TXE8124-Q1
#include <SPI.h>
#define CS 53
//MISO = 50
//CS = 53
//MOSI = 51
//SCLK = 52
void setup() {
Serial.begin(115200);
pinMode(CS, OUTPUT);
SPI.begin();
SPI.beginTransaction(SPISettings(125000, MSBFIRST, SPI_MODE0));
}
void loop() {
//send SPI in 8-bit words
uint8_t header_seg1 = 0b01000000; //default header segment
uint8_t header_seg2 = 0b00000100; //4 devices in the chain
uint8_t address_seg1 = 0b00000100; //direction configuration register
uint8_t address_seg2 = 0b00000000; //port 0 selected, no multi-port
digitalWrite(CS, LOW);
SPI.transfer(header_seg1);
SPI.transfer(header_seg2);
SPI.transfer(address_seg1); //board 4 address
SPI.transfer(address_seg2);
SPI.transfer(address_seg1); //board 3 address
SPI.transfer(address_seg2);
SPI.transfer(address_seg1); //board 2 address
SPI.transfer(address_seg2);
SPI.transfer(address_seg1); //board 1 address
SPI.transfer(address_seg2);
SPI.transfer(0xFF); //board 4 data
SPI.transfer(0xAA); //board 3 data
SPI.transfer(0x00); //board 2 data
SPI.transfer(0x55); //board 1 data
digitalWrite(CS, HIGH);
}