注意:代碼是在 windows 10 中交叉編譯的。代碼:package mainimport ( "fmt" "io" "log" "net/http" aosong "github.com/d2r2/go-aosong" i2c "github.com/d2r2/go-i2c")const i2CAddress = 0x5cconst i2CBus = 1// Server structtype Server struct { Sensor *aosong.Sensor I2C *i2c.I2C}func main() { var err error s := Server{Sensor: aosong.NewSensor(aosong.AM2320)} s.I2C, err = i2c.NewI2C(i2CAddress, i2CBus) if err != nil { log.Printf(err.Error()) } fmt.Println(s.Sensor.ReadRelativeHumidityAndTemperature(s.I2C)) defer s.I2C.Close()}調(diào)試信息:2019-02-12T10:29:19.692 [ i2c] DEBUG Write 3 hex bytes: [030004]2019-02-12T10:29:19.697 [ i2c] DEBUG Read 8 hex bytes: [0304012500d92045]2019-02-12T10:29:19.698 [ i2c] DEBUG Read 8 hex bytes: [0000000000000000]CRCs doesn't match: CRC from sensor(0) != calculated CRC(6912).知道為什么來(lái)自傳感器的 CRC 為 0 嗎?我能夠使用 python 腳本讀取具有相同地址的同一總線(xiàn)上的傳感器。
AM2320 傳感器:CRC 不匹配,來(lái)自傳感器的 CRC(0)
繁華開(kāi)滿(mǎn)天機(jī)
2023-06-05 18:24:51