所以我有一个 8 位计数器,它存储 0-255。
简而言之,以防我的解释不够充分。我有一个由 8 位组成的值 ABCDEFGH。有没有办法读取 ABCD 或 EFGH?另外,如果我有一个新的 ABCD 值,我可以在不破坏 EFGH 的情况下将其写入 ABCDEFGH 吗?
所以我的总线实现只有 4 位宽,所以我将计数器分成两个我可以读取的 4 位值。
我的问题是如何处理对此的读写。
我能想出的解决方案如下:将 1010 写入当前持有 01010101 的 8 位寄存器的最高有效位。
将 1010 加到清理的 8 位寄存器中得到 00001010。将其左移 4 次得到 10100000,从原始寄存器中提取 4 LSB,然后将其添加到该值。
我的问题是:
首先,有没有办法只读取 8 位寄存器的 4 位?
其次,有没有比我非常粗糙的方法更优雅的方法来处理将 4 位值写入 8 位寄存器?