我从RPI开始,我遇到了一个我不太懂的问题。 我有RFM69CW模块连接到我的RPI 销: [RFM69引脚] - [RPI引脚] 3v3 - 17, MOSI - 19, MISO - 21, CLK - 23, NSS - 24, DIO0 - 31,
我有简单的代码来写入值然后读取它:
import spidev
import RPi.GPIO as GPIO
spi = ""
def gpio_spi_init():
global spi
GPIO.setmode(GPIO.BCM)
GPIO.setup(19, GPIO.OUT)
GPIO.setup(23, GPIO.OUT)
GPIO.setup(24, GPIO.OUT)
GPIO.setup(21, GPIO.IN)
spi = spidev.SpiDev()
spi.open(0,0)
spi.mode = 0b00
spi.bits_per_word = 8
spi.max_speed_hz = 50000
print "Init Succes"
def write(reg, value):
global spi
data = [reg | 0x80, value]
spi.xfer(data)
def read(reg):
global spi
data = [reg & 0x7F, 0]
resp = spi.xfer(data)
return resp[1]
gpio_spi_init()
write(0x01, 0x04) # Setting up RegOpMode on Standby Mode
print read(0x01)
GPIO.cleanup()
从任何寄存器读取后,我总是得到0作为结果。我不知道我做错了什么。 我也尝试使用xfer2及其同样的问题。