Kalcifer, (edited )

The first two lines of the for loop,


<span style="color:#323232;">byte upper_byte = input_bin >> 8;
</span><span style="color:#323232;">byte lower_byte = input_bin &amp; 0x00FF;
</span>

don’t really accomplish anything. The first line is bit shifting to the right 8, and then you just bitwise and it resulting in the same thing. For example, starting with input_bin:


<span style="color:#323232;">1000 0000 0000 0000
</span><span style="color:#323232;">>> 8
</span><span style="color:#323232;">0000 0000 1000 0000
</span><span style="color:#323232;">&amp; 0xFF
</span><span style="color:#323232;">0000 0000 1000 0000
</span>

So, every time you go through a cycle of the for loop, you’ll just start with the same values in upper_byte, and lower_byte. To sequentially output each shifted value, you’ll instead want something like:


<span style="color:#323232;">output_value = 0b1
</span><span style="color:#323232;">for i = 1 to 16:
</span><span style="color:#323232;">    latch(low)
</span><span style="color:#323232;">    shift_out(output_value)
</span><span style="color:#323232;">    latch(high)
</span><span style="color:#323232;">    output_value = output_value &lt;&lt; 1
</span>

That is, if I interpereted correctly that you want the shift registers to output the following:


<span style="color:#323232;">output_count, upper_shift_register, lower_shift_register
</span><span style="color:#323232;">1, 00000000, 00000001
</span><span style="color:#323232;">2, 00000000, 00000010
</span><span style="color:#323232;">3, 00000000, 00000100
</span><span style="color:#323232;">.
</span><span style="color:#323232;">.
</span><span style="color:#323232;">.
</span><span style="color:#323232;">16, 10000000, 00000000
</span>

Note: Lemmy has a bug where it doesn’t format some symbols correctly, so the left angle bracket gets formatted as &lt;. The same issue exists for the right angle bracket, the ampersand, and I would presume others.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • askelectronics@discuss.tchncs.de
  • localhost
  • All magazines
  • Loading…
    Loading the web debug toolbar…
    Attempt #