温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

树莓派与arduino串口通信的示例分析

发布时间:2021-11-11 13:32:23 来源:亿速云 阅读:211 作者:小新 栏目:开发技术

小编给大家分享一下树莓派与arduino串口通信的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

树莓派与arduino串口通信

第一步:先设置硬件串口分配给GPIO串口
输入sudo raspi-config命令进入树莓派系统配置界面,选择第三个Interfacing Options

树莓派与arduino串口通信的示例分析

进去选择Serial Port

树莓派与arduino串口通信的示例分析

然后选择关闭串口登录功能,打开硬件串口调试功能

树莓派与arduino串口通信的示例分析
树莓派与arduino串口通信的示例分析
树莓派与arduino串口通信的示例分析

修改配置文件

打开/boot/config.txt文件,输入 sudo vim /boot/config.txt,在最后添加俩行:1、dtoverlay=pi3-miniuart-bt 2、force_turbo=1

然后重启树莓派,ls /dev -al查看串口

树莓派与arduino串口通信的示例分析

串口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.");

        }
}

测试结果截图:

树莓派与arduino串口通信的示例分析
树莓派与arduino串口通信的示例分析

接线是,树莓派的R对Arduino的T,树莓派的T对Arduino的R,然后接上GND就行了。
C语言的程序也有,懒得整理了

看完了这篇文章,相信你对“树莓派与arduino串口通信的示例分析”有了一定的了解,如果想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI