树莓派串口与外部设备通信
“学习或者了解人工智能小伙伴福利来了,前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。” 想了解或者学习人工智能可以看一下,我觉得学习起来挺有趣的!!!!
点击跳转到网站
树莓派串口与外部设备通信
- 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串口
编辑/boo
t目录下的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,与以上代码对应。
树莓派串口与外部设备通信相关推荐
- python树莓派串口通信实例_树莓派通过串口发送数据
可以通过串口登陆树莓派,也可以通过串口向其他主机发送数据.树莓派的串口接受数据科技爱好者博客已经写过,可以参考这篇文章:树莓派与arduino串口通信实践.这篇文章教大家如果通过树莓派的串口发送数据. ...
- 4.0 树莓派做下位机播放视频、控制电机舵机、超声波检测、paj7620手势传感器控制,树莓派串口通信等程序分析
文章目录 一.前言 二.Python实现封装打包自己写的代码 参考链接 我的参考 _init_.py setup.py 三. 树莓派的硬件解码播放器--Omxplayer 四.树莓派控制舵机,驱动L2 ...
- 树莓派串口通信 USB串口通信 常用串口命令
树莓派串口通信 USB串口通信 文章目录 树莓派串口通信 USB串口通信 准备 发送数据 接收数据 如果不知道树莓派怎么使用USB串口通信的,欢迎浏览我的另一篇博客文章: 树莓派使用USB串口通信 C ...
- 树莓派移植SX1278 LoRa通信--使用wiringPiSPI移植SPI通信接口
一.SPI接口 树莓派3B+上的SPI接口如下所示,有两组SPI,分别由CE0和CE1来进行选择. 首先查看树莓派的SPI是否启用,在/dev查看是否有spidev0.0和spidev0.1 如果不存 ...
- 树莓派串口配置(c++)
文章目录 前言 一.wiringPi库是什么? 二.使用步骤 1.安装库和接口介绍 2.C++串口配置 总结 注意点: 前言 最近做项目,在树莓派上用到串口来实现通信功能.所以用c++写了个串口的配置 ...
- STM32和树莓派串口透传
目录 树莓派环境串口透传 STM32环境串口透传 最近做一个项目需要STM32和树莓派进行串口通信,实现原理如下: 第一步:使用USB转TTL分别调试STM32和树莓派的串口透传,确保可以通信: 第二 ...
- 树莓派——串口调试助手
文章目录 xgcom 安装依赖环境 xgcom编译安装 在树莓派使用串口功能进行通信时出现了问题,但是却没有办法定位问题,所以找到了串口调试助手xgcom xgcom 一个linux系统下可使用的串口 ...
- ft4232树莓派linux扩展串口,如何实现STM32和树莓派串口透传?
最近做一个项目需要STM32和树莓派进行串口通信,实现原理如下: 第一步:使用USB转TTL分别调试STM32和树莓派的串口透传,确保可以通信: 第二步:确保第一步成功后,将树莓派和STM32连接,进 ...
- 【硬件控制】5. Pico使用串口与电脑通信
前几节都是在讲树莓派与外部的元件通信,本节来讲树莓派如何与电脑通信 本篇文章会教大家开发一个这样的上位机软件,用来和Pico通信,文章较长,耐心看完 先看一下树莓派Pico的引脚图吧 我们可以看到上面 ...
最新文章
- Spring Boot使用mongo的GridFS模块
- important meeting with friends
- vue学习路线图,学习vue就是那么清晰。
- 信息学奥赛C++语言:时间转换
- linux使用vim同时打开文件,VIM 在同一个窗口中同时编辑多个文件
- CentOS 5 常见的configure error的解决方法
- 自制计算器(C语言的简单实现)(可多次使用)
- html5中加入音乐怎么弄,H5秀添加音乐和视频的编辑方式
- 【论文精读】Grounded Language-Image Pre-training(GLIP)
- WebSocket 和 AJAX 比较
- 常用数据库及默认端口
- EngineerCMS利用梦想CAD控件MXdraw进行图纸在线编辑,保存到服务器
- 最简单web工程接收消息图片--微信企业号
- 【python】无规律时间步长时序数据转为固定步长
- pytorch(4)Pytorch模型训练时从CPU与GPU之间的转换
- Springboot整合WebSocket实现网页版聊天,快来围观!
- 关于其他视频文件向.flv文件转换的问题
- 饥荒联机版把服务器删掉了怎么找回,饥荒联机版存档丢失怎么办 饥荒存档教程...
- 学生会竞选PPT模板
- 叮咚 您的AI对象到货
热门文章
- 给大家准备了程序员专属红包封面,审核通过后我哭了,太心酸了(┬_┬)
- 分享一个交易猫验号源码
- bixby视觉服务器未响应,三星Bixby Vision增加三项功能:帮视觉障碍者读取文字、图像...
- Pheonix Service Software 2011.14.004.45945 Cracked Original
- Noip2018联训日记(Last update 11/9)
- 联合两个索引查询,已解决: 还有个进行多条件搜索 and 与 or 的操作
- 社区团购系统社区拼团系统开发需求与开发流程介绍
- 学习fvcom生物模块遇到的问题之一
- drools项目中dmn文件调用自定义的java类来访问数据库
- 微信小程序之百度人脸识别系统-人脸登录前后端代码