我正在開發一個Arduino的程序,它發送數據到一些移位寄存器來控制一個大點陣顯示。我需要滾動文本,這是我遇到問題的地方。比方說,顯示屏顯示「HI」。整個屏幕上的第一組數據將是「10001 11111」。這將代表第一階段點亮的列。如果我把它放在一起並添加一個空格,我會得到「10001011111」,我發現二進制中的數字可以通過除以2來移動一列。Arduino中的二進制移位寄存器操作
因此,例如「11111」/ 2 = 01111。下一個除法是00111,然後是00011和00001等。問題是我將數據傳遞給兩個單獨的移位寄存器,每個數字一個。所以首先我發送「11111」,然後我換入「10001」。滾動時,數據需要從一臺顯示器轉移到另一臺顯示器。下面是一個圖表,儘量讓更多的這種感覺: 對於
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
我真的嘗試過的工作 「HI」
BAD我能想到的一切。解決辦法是什麼?