SpiDevice 读、写和传输
SpiDevice read, write and transfer
在 raspberry pi 3 上玩 Windows 物联网,我正在尝试与 Adafruit RFM69HCW 通信。
我已经通过 SPI 连接到设备,但无论我做什么,我似乎都无法让 pi 从设备寄存器中读取任何内容。
我想知道的一件事是 SpiDevice.Read()
、Write()
、TransferSequential()
和 TransferFullDuplex()
到底是做什么的?
我知道显而易见的基础知识,但我正在了解它为每个功能执行的步骤。
我问的原因是因为在 RF 模块的规范中它说在通信时你必须将 CS 引脚设置为低电平,发送命令然后将 CS 引脚设置回高电平。例如,SpiDevice.Read()
是否已经这样做了?
我一直在转换 Arduino 库和 Python Raspberry Pi 代码,所以我知道先进行硬重置。
Link 如果有人感兴趣,请查看规范。RFM69HCW-V1.1.pdf
Reason I ask is because in the spec of the RF module it says when
communicating you have to set the CS pin to low, send the command and
then set the CS pin back to High. Does, for example, SpiDevice.Read()
do this already?
是的,你是对的。我测试 SPIAccelerometer sample 并得到以下序列图。黄线是芯片select,另一条是时钟线。如你所见,写入和读取时CS设置为低。(波形很难看,因为我的示波器性能低。)
在 raspberry pi 3 上玩 Windows 物联网,我正在尝试与 Adafruit RFM69HCW 通信。
我已经通过 SPI 连接到设备,但无论我做什么,我似乎都无法让 pi 从设备寄存器中读取任何内容。
我想知道的一件事是 SpiDevice.Read()
、Write()
、TransferSequential()
和 TransferFullDuplex()
到底是做什么的?
我知道显而易见的基础知识,但我正在了解它为每个功能执行的步骤。
我问的原因是因为在 RF 模块的规范中它说在通信时你必须将 CS 引脚设置为低电平,发送命令然后将 CS 引脚设置回高电平。例如,SpiDevice.Read()
是否已经这样做了?
我一直在转换 Arduino 库和 Python Raspberry Pi 代码,所以我知道先进行硬重置。
Link 如果有人感兴趣,请查看规范。RFM69HCW-V1.1.pdf
Reason I ask is because in the spec of the RF module it says when communicating you have to set the CS pin to low, send the command and then set the CS pin back to High. Does, for example, SpiDevice.Read() do this already?
是的,你是对的。我测试 SPIAccelerometer sample 并得到以下序列图。黄线是芯片select,另一条是时钟线。如你所见,写入和读取时CS设置为低。(波形很难看,因为我的示波器性能低。)