“学习或者了解人工智能小伙伴福利来了,前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。”

想了解或者学习人工智能可以看一下,我觉得学习起来挺有趣的!!!!

点击跳转到网站

树莓派串口与外部设备通信

  • 1 SSH登录树莓派系统之后
  • 2 设置硬件串口为GPIO串口
  • 3 minicom串口助手测试
  • 4 C语言测试代码,打印hello world

从树莓派的相关资料我们可以看到,树莓派有两个串口可以使用,一个是硬件串口(/dev/ttyAMA0),另一个是mini串口(/dev/ttyS0)。硬件串口有单独的波特率时钟源,性能好,稳定性强;mini串口功能简单稳定性较差波特率由CPU内核时钟提供受内核时钟影响

树莓派(3/4代)板载蓝牙模块,默认的硬件串口是分配给蓝牙模块使用的,而性能较差的mini串口是分配给GPIO串口 TXD0、RXD0。

运行以下命令可以查看到默认的串口分配方式:

ls /dev -al


由于硬件串口分配给板载蓝牙使用,所以我们要释放掉,并且设置硬件串口分配给GPIO串口。

1 SSH登录树莓派系统之后

sudo raspi-config

进入树莓派系统配置界面,选择第五个Interfacing Options


进入P6 Serial

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


完成后提示以下界面,按OK。


退出raspi-config设置,并根据提示重启树莓派。

2 设置硬件串口为GPIO串口

编辑/boot目录下的config.txt文件

sudo nano /boot/config.txt

添加下面两行到最后:

dtoverlay=pi3-miniuart-btforce_turbo=1

修改后的如下图片所示

保存:Ctrl+O,退出Ctrl+X

重启树莓派

sudo reboot

重启树莓派后,再次输入ls /dev -al,可以看到两个串口已经互相换了位置:

3 minicom串口助手测试

安装minicom

sudo apt-get install minicom

安装完成后启动minicom

minicom -D /dev/ttyAMA0 -b 9600

其中-D表示选择串口**/dev/ttyAMA0**,-b 设置波特率为9600,此参数可以不用设置,默认115200。

打开串口就可以通过USB转TTL模块来传输数据了。

退出minicom的操作比较麻烦,根据提示,需要先按Ctrl+A,再按Z,弹出以下菜单,

接着按X,最后选YES按回车确定。

USB转TTL模块连接如下图:

4 C语言测试代码,打印hello world

代码如下:

#include <stdio.h>
#include <wiringPi.h>
#include <wiringSerial.h>int main()
{int fd;if(wiringPiSetup() < 0)return 1;if((fd = serialOpen("/dev/ttyAMA0",9600)) < 0)return 1;printf("serial test start ...\n");serialPrintf(fd,"Hello World!!!\n");while(1){serialPutchar(fd,serialGetchar(fd));}serialClose(fd);return 0;
}


新建testCom.c文件,并把上面的代码复制进去

nano testCom.c

保存:Ctrl+O,退出Ctrl+X

使用gcc编译器来编译程序

 gcc testCom.c -o test -lwiringPi

运行程序

./test


也可以从串口发送数据给树莓派,树莓派会直接返回给串口显示。

注意:如果出现了显示乱码的情况,请检查一下波特率,需要设置为9600,与以上代码对应。

树莓派串口与外部设备通信相关推荐

  1. python树莓派串口通信实例_树莓派通过串口发送数据

    可以通过串口登陆树莓派,也可以通过串口向其他主机发送数据.树莓派的串口接受数据科技爱好者博客已经写过,可以参考这篇文章:树莓派与arduino串口通信实践.这篇文章教大家如果通过树莓派的串口发送数据. ...

  2. 4.0 树莓派做下位机播放视频、控制电机舵机、超声波检测、paj7620手势传感器控制,树莓派串口通信等程序分析

    文章目录 一.前言 二.Python实现封装打包自己写的代码 参考链接 我的参考 _init_.py setup.py 三. 树莓派的硬件解码播放器--Omxplayer 四.树莓派控制舵机,驱动L2 ...

  3. 树莓派串口通信 USB串口通信 常用串口命令

    树莓派串口通信 USB串口通信 文章目录 树莓派串口通信 USB串口通信 准备 发送数据 接收数据 如果不知道树莓派怎么使用USB串口通信的,欢迎浏览我的另一篇博客文章: 树莓派使用USB串口通信 C ...

  4. 树莓派移植SX1278 LoRa通信--使用wiringPiSPI移植SPI通信接口

    一.SPI接口 树莓派3B+上的SPI接口如下所示,有两组SPI,分别由CE0和CE1来进行选择. 首先查看树莓派的SPI是否启用,在/dev查看是否有spidev0.0和spidev0.1 如果不存 ...

  5. 树莓派串口配置(c++)

    文章目录 前言 一.wiringPi库是什么? 二.使用步骤 1.安装库和接口介绍 2.C++串口配置 总结 注意点: 前言 最近做项目,在树莓派上用到串口来实现通信功能.所以用c++写了个串口的配置 ...

  6. STM32和树莓派串口透传

    目录 树莓派环境串口透传 STM32环境串口透传 最近做一个项目需要STM32和树莓派进行串口通信,实现原理如下: 第一步:使用USB转TTL分别调试STM32和树莓派的串口透传,确保可以通信: 第二 ...

  7. 树莓派——串口调试助手

    文章目录 xgcom 安装依赖环境 xgcom编译安装 在树莓派使用串口功能进行通信时出现了问题,但是却没有办法定位问题,所以找到了串口调试助手xgcom xgcom 一个linux系统下可使用的串口 ...

  8. ft4232树莓派linux扩展串口,如何实现STM32和树莓派串口透传?

    最近做一个项目需要STM32和树莓派进行串口通信,实现原理如下: 第一步:使用USB转TTL分别调试STM32和树莓派的串口透传,确保可以通信: 第二步:确保第一步成功后,将树莓派和STM32连接,进 ...

  9. 【硬件控制】5. Pico使用串口与电脑通信

    前几节都是在讲树莓派与外部的元件通信,本节来讲树莓派如何与电脑通信 本篇文章会教大家开发一个这样的上位机软件,用来和Pico通信,文章较长,耐心看完 先看一下树莓派Pico的引脚图吧 我们可以看到上面 ...

最新文章

  1. Redis 高可用篇:你管这叫主从架构数据同步原理?
  2. 2.合并区间(LeetCode第56题)
  3. Charles是mac的iddler抓包工具
  4. 【PAT (Advanced Level) Practice】1005 Spell It Right (20 分)
  5. angular js $post,$get请求传值
  6. Django:Admin,Cookie,Session
  7. 新磁盘创建lvm并挂载
  8. 二叉树的建立与三种遍历
  9. Taro+react开发(47)taro中消息机制
  10. 1-4:学习shell之操作文件与目录
  11. 代码投毒、删库跑路,开源生态链安全该如何保证?
  12. web developer tips (47):脚本远程调试需关闭IE增强安全配置
  13. 操作系统实验一:并发程序设计
  14. adb devices出现no permissions
  15. ubuntu18设置屏幕旋转_无线电对讲机,常用电台上中继台设置
  16. DSP2837x ECAP调试(BLDC霍尔)
  17. Discuz app打包app上架appstore小技巧
  18. java导出excel报表_java生成excel报表文件示例
  19. 常用在线英汉、英英词典
  20. 7.26 3 教育的长久回报期

热门文章

  1. 毕业选择起步型企业的五大原因
  2. 企业微信--配置机器人
  3. 5 JInja2模版(适用于Django和Flask)
  4. 所有白手起家的百万富翁都有他们能成功的原因
  5. u大侠装服务器系统,U大侠win10系统U盘制作教程_如何用U盘装win10系统 - U大侠,装机专家...
  6. FORTRAN基础编程(1)——基本格式及读入输出
  7. 自然那语言处理之深度学习word2vec笔记之应用篇
  8. 2022-2028年中国干细胞美容行业市场深度分析及投资前景分析报告
  9. 职称计算机证书能折合多少继续教育学分,中级职称继续教育至少满足多少学时快捷有效_明运教育...
  10. 关于javaScript