Just one further point to fully clarify...
When there are multiple MAX7219s cascaded -- let's say 4 -- every SHIFTOUT command requires that many arguments in the command, with No-Ops sent to the MAX7219s that are to remain unchanged. For example,
SHIFTOUT SI, SCK, 1, [$0000\16,$0000\16,$0502\16,$0000\16]
will send "2" to the 5th digit of the 3rd MAX7219, without disturbing any of the other MAX7219 register contents, and sending
SHIFTOUT SI, SCK, 1, [$0000\16,$0207\16,$0000\16,$0000\16]
will send "7" to the 2nd digit of the 2nd MAX7219 without altering the the display sent by the first SHIFTOUT.
Bookmarks