Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arduino中的二进制移位寄存器操作_Arduino_Bit Shift - Fatal编程技术网

Arduino中的二进制移位寄存器操作

Arduino中的二进制移位寄存器操作,arduino,bit-shift,Arduino,Bit Shift,我正在为Arduino开发一个程序,该程序将数据发送到一些移位寄存器,以控制大型点阵显示器。我需要文本滚动,这就是我遇到问题的地方。例如,假设显示器显示HI。整个屏幕上的第一组数据是100011111。这将表示在第一阶段点亮的列。如果我把它们放在一起,加上一个空格,我得到10001011111,我已经计算出一个二进制数可以被2除一列 例如11111/2=01111。下一个除法是00111,然后是00011和00001,等等。问题是我将数据传递到两个单独的移位寄存器,每个数字一个。所以首先我发送1

我正在为Arduino开发一个程序,该程序将数据发送到一些移位寄存器,以控制大型点阵显示器。我需要文本滚动,这就是我遇到问题的地方。例如,假设显示器显示HI。整个屏幕上的第一组数据是100011111。这将表示在第一阶段点亮的列。如果我把它们放在一起,加上一个空格,我得到10001011111,我已经计算出一个二进制数可以被2除一列

例如11111/2=01111。下一个除法是00111,然后是00011和00001,等等。问题是我将数据传递到两个单独的移位寄存器,每个数字一个。所以首先我发送11111,然后我切换到10001。滚动时,数据需要从一个显示器传输到另一个显示器。下面是一个图表,试图更清楚地说明这一点: 为了工作嗨

坏的

我需要什么


我真的尝试了我能想到的一切。解决方案是什么?

如果你的行可以放在你可以用来存储数据的空间内,你就不能把整行放在那里并移动它吗?不要使用固定的中央分隔符空间,而是将您的消息编码为您试图显示的矩阵,而不是单个字母

10001011111
然后重复除以2

01000101111
00100010111

在所有其他行上执行相同的操作,我打赌第二行将是1000100,右移除以2的效果相同

将10001011111移到第二列中。 将000000 10001移到第一个位置

10001011111
01000101111
00100010111