0

就像我在标题中描述的那样,我正在尝试读取出现在 GPIO 引脚上的下一个 N 位。就上下文而言,我正在设置芯片选择 (CS) 启用,并且在两个时钟周期后,我期望一个 10 位序列。在这一刻,我并不十分担心确保我拥有正好 10 位,尽管我宁愿确保我至少得到我需要的 10 位,即使我也得到了一些边缘的东西。我一直在使用 PiGPIO 并尝试使用 bb_serial_read 功能,但是由于文档不是太具体而且我对位敲击没有太多经验,因此我一直无法完全理解该工具的功能。

我是这样接近它的:

pi.hardware_clock(CLOCK_PIN, CLOCK_FREQ)
pi.bb_serial_read_open(DATA_PIN, CLOCK_FREQ)

enable_CS()
(count, val) = pi.bb_serial_read(DATA_PIN)
disable_CS()

之后我会尝试将返回的值转换为二进制字符串。我遇到的主要障碍围绕着 bb_serial_read_open 的参数,因为 bb_serial_read 返回的字节数组往往看起来像 '\x00\x00\x01\x00' 或类似的东西,值往往会有所不同。如果我想确保获得一定数量的连续位,将其转换为原始二进制文件的适当方法是什么?此外,有没有办法刷新位爆炸协议存储其值的循环缓冲区?我很确定这是一个简单的问题,但是我已经在文档和示例代码之间来回切换了一段时间,没有运气。

4

0 回答 0