代码
Arduino?
void setup()
{
Serial.begin(9600); // 9600 bps
}
void loop()
{
if ( Serial.available())
{
if('s' == Serial.read())
Serial.println("Hello Raspberry,I am Arduino.");
}
}
需要先在编译器中编译上传?
如果读到树莓派传输过来的‘s’就会打印"Hello Raspberry,I am Arduino."
python程序(comm.py)
# -*- coding:UTF-8 -*-
import serial #import serial module
ser = serial.Serial('/dev/ttyACM0', 9600,timeout=1); #open named port at 9600,1s timeot
#try and exceptstructure are exception handler
try:
while 1:
ser.write('s');#writ a string to port
response = ser.readall();#read a string from port
print response;
except:
ser.close();
?树莓派写入‘s’,运行comm.py,如果读到树莓派传输过来的‘s’就会打印"Hello Raspberry,I am Arduino."
运行结果
?会发现有传输延时
可能遇到的python2 python3编码问题,这个问题在我的博客有记
【传感器&&填坑】Arduino和树莓派通信读取Arduino的距离,解决版本编码问题_dujuancao11的博客-CSDN博客
# -*- coding:UTF-8 -*-
import serial #import serial module
ser = serial.Serial('/dev/ttyACM0', 9600,timeout=1); #open named port at 9600,1s timeot
#try and exceptstructure are exception handler
try:
while 1:
ser.write('s'.encode('utf-8'));#writ a string to port
response = ser.readall().decode()#read a string from port
print(response)
except:
ser.close();
print(111)
|