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

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

点击跳转到网站

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

  • 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. Spring Boot使用mongo的GridFS模块
  2. important meeting with friends
  3. vue学习路线图,学习vue就是那么清晰。
  4. 信息学奥赛C++语言:时间转换
  5. linux使用vim同时打开文件,VIM 在同一个窗口中同时编辑多个文件
  6. CentOS 5 常见的configure error的解决方法
  7. 自制计算器(C语言的简单实现)(可多次使用)
  8. html5中加入音乐怎么弄,H5秀添加音乐和视频的编辑方式
  9. 【论文精读】Grounded Language-Image Pre-training(GLIP)
  10. WebSocket 和 AJAX 比较
  11. 常用数据库及默认端口
  12. EngineerCMS利用梦想CAD控件MXdraw进行图纸在线编辑,保存到服务器
  13. 最简单web工程接收消息图片--微信企业号
  14. 【python】无规律时间步长时序数据转为固定步长
  15. pytorch(4)Pytorch模型训练时从CPU与GPU之间的转换
  16. Springboot整合WebSocket实现网页版聊天,快来围观!
  17. 关于其他视频文件向.flv文件转换的问题
  18. 饥荒联机版把服务器删掉了怎么找回,饥荒联机版存档丢失怎么办 饥荒存档教程...
  19. 学生会竞选PPT模板
  20. 叮咚 您的AI对象到货

热门文章

  1. 给大家准备了程序员专属红包封面,审核通过后我哭了,太心酸了(┬_┬)
  2. 分享一个交易猫验号源码
  3. bixby视觉服务器未响应,三星Bixby Vision增加三项功能:帮视觉障碍者读取文字、图像...
  4. Pheonix Service Software 2011.14.004.45945 Cracked Original
  5. Noip2018联训日记(Last update 11/9)
  6. 联合两个索引查询,已解决: 还有个进行多条件搜索 and 与 or 的操作
  7. 社区团购系统社区拼团系统开发需求与开发流程介绍
  8. 学习fvcom生物模块遇到的问题之一
  9. drools项目中dmn文件调用自定义的java类来访问数据库
  10. 微信小程序之百度人脸识别系统-人脸登录前后端代码