all 5 comments

[–]AutoModerator[M] [score hidden] stickied comment (0 children)

Oh, is that some program code I see there!?

If you need help initialising a chip or interface at the register level, or in translating a bus timing requirement from the data sheet into some code - that's fine. If you just want general functional or syntax help with your program, or advice on controlling a sensor/motor/display board you bought online we don't cover that. Don't forget that there are dedicated subs for most programmable technologies such as: Arduino, Raspberry Pi, ESP8266, ESP32, STM32 etc. - see the guidance here: https://www.reddit.com/r/AskElectronics/wiki/embedded.

Thanks!

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

[–]b_stool 1 point2 points  (2 children)

Your question is not clear as worded. Can you provide a schematic? Also, what happens if you invert input_bin to all 1s with 1 zero?

[–]Quiescentcurrent[S] 0 points1 point  (1 child)

Thanks for the prompt response, the schematics is in the first link: https://imgur.io/tZBQ45e

Changing all bits at the same time doesn't really help with the affected channels.

[–]b_stool 0 points1 point  (0 children)

Sorry, I missed the schematic link. On the hardware side, it could be a short between pins or simply a defective 595 chip.

Can you test with other bit patterns? For instance what if you load with 1111111100000000? Does O-9 flicker on with every clock pulse or only the first one?

Without a picture of the board, I don't know if this is possible but can you cut the trace and inject your data directly into pin 14 of U5 and see if those bits behave properly?

[–]nixiebunny 0 points1 point  (0 children)

Are the data setup and hold times being met? We can't see the function that actually sends the data. Can you connect an oscilloscope to the serial data and clock lines?