我有一个用于RaspberryPi的工作python文件,用于发送串行通信
import serial # pyserial from time import sleep ser = serial.Serial('COM3', baudrate=9600, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_TWO) on_packet = bytearray() on_packet.append(0x00) on_packet.append(0xFF) on_packet.append(0x53) on_packet.append(0xC3) while 1: ser.write(on_packet) sleep(.042) ser.close()
我已安装WiringPi库fromhttps://github.com/WiringPi/WiringPi/tree/master/wiringPiI我使用c中的等效值
#include <wiringPi.h> #include <wiringSerial.h> int fd; char on_packet[] = {0x00, 0xFF, 0x53, 0xC3}; int main () { if ((fd = serialOpen("/dev/ttyAMA0", 9600)) < 0) { printf("Unable to open serial device\n"); return 1; } while(1) { serialPuts(fd, on_packet); delay(42); } serialClose(fd); return 0; }
这两者都是等价的。因为我提供的c示例没有发送串行输出