这是否将4(字节00000100)写入串行端口?buf := make([]byte, 4)d, err := connection.Write(buf)因为看起来有些东西正在发送,但是我在另一端期待 4 的代码没有被触发。我有另一种语言的其他代码,将 4 发送到 Arduino,它响应良好。当上面的代码运行时,我可以看到灯闪烁,但不知何故不是我期待的字节。那么如何00000100通过串口发送字节呢?完整代码在这里:package mainimport ( "github.com/tarm/goserial" "log" "time")func main() { config := &serial.Config{Name: "/dev/tty.usbmodem1421", Baud: 9600} connection, err := serial.OpenPort(config) if err != nil { log.Fatal(err) } // Wait for Arduino time.Sleep(5 * time.Second) // Send the binary integer 4 to the serial port buf := make([]byte, 4) _, err = connection.Write(buf) if err != nil { log.Fatal(err) } // Wait for Arduino time.Sleep(1 * time.Second) // Cleanup connection.Close()}
1 回答
白猪掌柜的
TA贡献1893条经验 获得超10个赞
看起来我完全误解了第二个论点make......
buf := make([]byte, 1) // second arg is lenght of array, not a value in the array
binary.PutUvarint(buf, 8) // add my int value to the buffer
connection.Write(buf) // send it!
- 1 回答
- 0 关注
- 253 浏览
添加回答
举报
0/150
提交
取消