时间:2022-10-17 11:19:59 | 栏目:Python代码 | 点击:次
第一步:先设置硬件串口分配给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跟别人进行串口通信了。
第二步:编写测试程序
树莓派:
import serial import time port = "/dev/ttyAMA0" ser = serial.Serial(port,115200,timeout=1) # //打开串口,连接到Arduino上 ser.flushInput() # //清空输入缓冲区 while True: #ser.write("7".encode()) ser.write("s".encode()); size = ser.inWaiting() # 获得缓冲区字符 if size != 0: response = ser.read(size); print(response) 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语言的程序也有,懒得整理了