How to scroll data in LED dot matrix through multiple modules? I've been struggling in this issue for a long time, I know there are people who have done it.

But, I don't have much experience in C to have the skills to design or develop such complicated functions.

I want to scroll data, e.g. text, chars or numbers just like the nice projects in YouTube about the dot matrix.

Like this one: How to Make a SCROLLING TEXT Display at Home


I know how to display a char, but I don't know how to scroll it. If I try I don't get the results I want.

This is my function for displaying chars:

void draw(void)
{
  s=0;
  uint8_t data_shift_buf;
  for (l=0;l&lt;26;l++)            // to print 26 letters
  {
    for (row=1;row&lt;9;row++)     // for 8 matrix rows
    {

        SPI_TX_m16(data = (row&lt;&lt;8) | (Alphabet[s]),4);// trying set data by column
        s++;_delay_ms(300);
    }
  }
}
This is the function for my problem.

void draw(void)
{
uint32_t map_buffer=0;int8_t i,k;
uint8_t data_reg[4] = {0xaa,0xbb,0xff,0xff};      // random data to write
uint8_t dis_buf[4],no_device,no_col;s=0;l=3;

for (i=0;i&lt;4;i++)
map_buffer |= data_reg[i] &lt;&lt; i*8;                 // loading data into map_buffer

for (col=0;col&lt;32;col++)                          // for 8 matrix columns
{
    map_buffer &gt;&gt;= 1;                            // start shifting the data by 1 pixel
    for (i=0;i&lt;4;i++)
    dis_buf[i] = map_buffer &gt;&gt; i*8;              // loading shifted data into display buffers
    for (i=0;i&lt;4;i++)
    {
        for (row=1;row&lt;9;row++)                 // for 8 matrix rows
        {
            SPI_TX_m(data = (row&lt;&lt;8) | (dis_buf[i]),i);
        }
    }_delay_ms(1000);
}


}