I am working on LED Tower that contains 15 layers, where each of them contains 4 bytes (32 LEDs). I would like to be able to shift a byte from right to left. However there is an issue with multiple bytes, can't figure out how to continously transition the shifting.
Additional information:
void Invert_Display(void){
for (int y = 0; y < LAYERS; y++){
for (int x = 0; x < BYTES; x++){
LED_Buffer[y][x] ^= (0b11111111);
}
}
Update_Display();
Where UpdateDisplay function is as follows:
void Update_Display(void){
while(!TRMT); // Wait until transmission register is empty
for (int y = 0; y < LAYERS; y++){
for (int x = 0; x < BYTES; x++){
TXREG = LED_Buffer[y][x];
while (!TRMT);
}
}
LE = 1; // Data is loaded to the Output latch
NOP();
LE = 0; // Data is latched into the Output latch
uint32_t
? If yes, then all you need to do is perform a 1 bit left shift:my_uint32_variable <<= 1;
— ormy_uint32_variable *= 2;
for that matter. – hidefromkgb