32-bit Serial-Input Latch Driver control

I'm trying to control an old arcade display that uses 4 - 7 segments display, driven by a UCN5833A
Datasheet

I've ran code some I found and it will display randomly but not specific numbers.

I've mapped out the 4 segments to the outputs of the UCN5833A

Digits 1-3 are the score, Digit 4 is a ball counter

Digit 1 uses outputs 2-8 (one hundreds)
Digit 2 uses outputs 10-16 (tens)
Digit 2 uses outputs 18-24 (ones)

Digit 4 uses outputs 26-32

Using the code below in only displays the "D" & "E" segments in all 4 digits.

This seems like it should be pretty straight forward data 0 for off 1 for on.

Thanks for any input.

const int dataPin = 5;
const int clockPin = 4;

void setup() { 
    Serial.begin(9600);
  pinMode(clockPin, OUTPUT);
  pinMode(dataPin, OUTPUT);
}



void loop() { 
  
    shiftOut(dataPin, clockPin, MSBFIRST, '01100000011000000110000001100000');

delay (500);
}//end loop

Hello

Don't you have a compile warning about this '01100000011000000110000001100000' ?

Try

uint32_t data = 0b01100000011000000110000001100000;
shiftOut(dataPin, clockPin, MSBFIRST, data );
shiftOut(dataPin, clockPin, MSBFIRST, data >> 8 );
shiftOut(dataPin, clockPin, MSBFIRST, data >> 16 );
shiftOut(dataPin, clockPin, MSBFIRST, data >> 24 );

I didn't have a compile error. Thank you, your solution worked.

I just needed to change to LSBFIRST to make it easier to map the bits.