在覆盆子pi 3上玩Windows IoT,我正在尝试与Adafruit RFM69HCW进行通信。
我已通过SPI连接到设备,无论我做什么,我似乎无法让pi从设备寄存器中读取任何内容。
我想知道的一件事是SpiDevice.Read()
,Write()
,TransferSequential()
和TransferFullDuplex()
究竟做了什么?
我知道明显的基础知识,但我遵循它为每个功能执行的步骤。
我要问的原因是因为在RF模块的规范中它说在通信时你必须将CS引脚设置为低电平,发送命令然后将CS引脚设置回高电平。例如,SpiDevice.Read()
是否已经这样做了?
我一直在转换Arduino库和Python Raspberry Pi代码,所以我知道首先进行硬重置。
如果有兴趣的话,请链接到规范。RFM69HCW-V1.1.pdf
答案 0 :(得分:1)
我问的原因是因为在射频模块的规格中它说什么时候 通信你必须将CS引脚设置为低电平,发送命令和 然后将CS引脚设置回高电平。例如,SpiDevice.Read() 这样做了吗?
是的,你是对的。我测试SPIAccelerometer sample并得到以下序列图。黄线是芯片选择,另一条是时钟线。正如您所看到的,当写入和读取CS时设置为低。(波形很难看,因为我的示波器性能很低。)