我正在尝试从E910.68太阳传感器读取光线角度测量值,该传感器使用Raspberry PI和Python库SPIdev通过SPI进行通信。 在阅读数据表时,我了解到我需要发送一个命令(0x00)来读取传感器的值,为了实现这一点,xfer2命令似乎满足了我的需要,但我不知道它是如何工作的。此外,我在数据表上看到,为了激活E910.68启用测量命令,SPI写入011100XXYYP1ZDDD(其中XX=X二极管的功能,YY=Y二极管的功能,P=启用/禁用所有光电二极管,S=操作模式(1=启用测量),Z=模拟输出的状态(我不需要),DDD=模拟输出的操作模式(不需要它))必须发送。我将其设置为0b0111000000010000。这是我所做的:
import spidev
import time
def main(args=None):
spi = spidev.SpiDev()
spi.open(0,0)
spi.mode = 0
spi.max_speed_hz = 5000000
spi.xfer2([0b0111000000010000],2)
while True:
r=spi.xfer2([0x00],2)
print(r)
time.sleep(1)
if __name__ == '__main__':
main()
我得到的响应是一个常数[207]。 我错过了什么? 提前谢谢你
目前没有回答
相关问题 更多 >
编程相关推荐