Я работаю над программой для Arduino, которая отправляет данные в некоторые регистры сдвига для управления большим матричным дисплеем.Мне нужен текст для прокрутки, и вот тут я сталкиваюсь с проблемами.Скажем, например, что на дисплее отображается «HI».Первый набор данных по всему экрану будет «10001 11111».Это будет представлять столбцы, которые горят на первом этапе.Если я сложу это вместе и добавлю пробел, то получу «10001011111», я выяснил, что двоичное число можно сдвинуть на один столбец, поделив его на 2.
Так, например, «11111» / 2 = 01111Следующее деление - 00111, затем 00011, 00001 и т. Д. Проблема в том, что я передаю данные в два отдельных регистра сдвига, по одному для каждой цифры.Итак, сначала я отправляю «11111», а затем меняю «10001».Когда они прокручиваются, данные необходимо передавать с одного дисплея на другой.Ниже приведен график, чтобы попытаться понять это: Для работы "HI"
BAD
H | I
10001 0 11111
01000 0 01111
00100 0 00111
00010 0 00011
00001 0 00001
00000 0 00000
Что мне нужно
H | I
10001 0 11111
01000 1 01111
00100 0 10111
00010 0 01011
00001 0 00101
00000 1 00010
00000 0 10001
00000 0 01000
00000 0 00100
00000 0 00010
00000 0 00001
00000 0 00000
Я действительно перепробовал все, что мог придумать.Какое решение?