第一步:先设置硬件串口分配给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语言的程序也有,懒得整理了
版权声明:本文为CSDN博主「低调神龙」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_45506125/article/details/121256083
暂无评论