0

我正在使用WiringPi-Python通过串行发送数据并尝试发送 char 数组。我的问题是;如果数组包含0(NULL 字符),我无法发送数据。

bytes = [112, 52, 0, 18]
send = "".join(map(chr, bytes))
wiringpi.serialPuts(serial, send)

如何将包含 NULL 的字符数组传递给serialPuts

4

1 回答 1

2

恕我直言,问题bindings.i出在图书馆:

serialPuts()定义为

extern void serialPuts (const int fd, const char *s) ;

而在 C 中,字符串 ( char*) 由\0字符终止。我认为这是图书馆的一个错误。它应该是

extern void serialPuts (const int fd, const char *s, int strlen) ;

循环尝试wiringpi.serialPutchar()

于 2017-12-13T00:36:12.943 回答