第一步:先设置硬件串口分配给GPIO串口
输入sudo raspi-config命令进入树莓派系统配置界面,选择第三个Interfacing Options
进去选择Serial Port
然后选择关闭串口登录功能,打开硬件串口调试功能
修改配置文件
打开/boot/config.txt文件,输入 sudo vim /boot/config.txt,在最后添加俩行:1、dtoverlay=pi3-miniuart-bt 2、force_turbo=1
然后重启树莓派,ls /dev -al查看串口
串口0对应ttyAMA0,串口1对应ttyS0,意味着此时硬件串口可以通过GPIO跟别人进行串口通信了。
第二步:编写测试程序
树莓派:
1 import serial 2 import time 3 4 port = "/dev/ttyAMA0" 5 ser = serial.Serial(port,115200,timeout=1) # //打开串口,连接到Arduino上 6 ser.flushInput() # //清空输入缓冲区 7 8 while True: 9 #ser.write("7".encode()) 10 ser.write("s".encode()); 11 size = ser.inWaiting() # 获得缓冲区字符 12 13 if size != 0: 14 response = ser.read(size); 15 print(response) 16 17 time.sleep(3)
arduino:
void setup() { Serial.begin(115200); //定义波特率 } void loop() { while(Serial.available()>0){ char teststring = Serial.read(); Serial.println(teststring); if('s' == teststring ) Serial.println("Hello Raspberry,I am Arduino."); } }
测试结果截图:
接线是,树莓派的R对Arduino的T,树莓派的T对Arduino的R,然后接上GND就行了。
C语言的程序也有,懒得整理了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)