树莓派(python)与arduino串口通信

树莓派与arduino串口通信

第一步:先设置硬件串口分配给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语言的程序也有,懒得整理了

  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值