当前位置: 首页 > news >正文

六、CM4树莓派USBRS转485串口通讯

一、串行通讯接口

串行通讯接口简称串口(UART)

采用串行通信方式的扩展接口,数据位一位一位的按照顺序传送

 

优点:通信线路简单,只要一对传输线就可以实现双向通信能够大大降低成本,适合远距离通信。

缺点:传输速度慢

二、树莓派的串口(UART)

树莓派3/4b的外设一共包含两个串口:

  • 一个是硬件串口(/dev/ttyAMA0);

  • 一个mini串口(/dev/ttyS0)

硬件串口由硬件实现,有独特的波特率时钟源,性能高、可靠;

mini串口性能低,功能简单

在树莓派上,引脚8(发送)和引脚10(接收)是作为主串口的收发端。

引脚8 被叫做TXD(Transmit Data)

引脚10 被叫做RXD(Receive Data)

树莓派的串口分类:

  1. 主串口——可以通过引脚实现通信;

  2. 辅助串口——不能使用GPIO引脚通信默认被分配给蓝牙端

注意:默认情况下,mini串口是禁用的,无论将它指定为主UART还是辅助UART

三、CM4树莓派USBRS转485串口通讯步骤

Step1:准备待调试的硬件串口

1.使用命令 ls/dev --al 查看串口打开情况

2.打开 minii UART

 

3.将硬件串口设置为主串口

sudo nano /boot/config.txt

在该文件末尾添加上两行代码

dtoverlay=pi3-miniuart-bt
force_turbo=1

 Ctrl + S 保存,Ctrl + X退出,再次重启树莓派后查看

4./boot/cmdline.txt文件配置

命令:
sudo nano /boot/cmdline.txt
在其中添加该句:
dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4
fsck.repair=yes rootwait quiet spla>

5./boot/config.txt文件配置

命令:
sudo nano /boot/config.txt
在最后添加串口开启,并打开指定串口
enable uart=1
dtoverlay=pi3-miniuart-bt,core_freq=250
dtoverlay=uart4
dtoverlay=uart3

 检查目前已经打开哪些串口

查看目前已经打开哪些串口命令:
ls /dev/ttyAMA*

 检查映射关系:

查看映射关系命令:
ls -l /dev/serial*

Step2:安装minicom串口助手

终端输入:sudo apt-get install minicom

Step3:电脑安装串口调试工具

XCOM软件下载icon-default.png?t=N7T8http://cdn.bettertree.cn/lovegeek/raspberry/XCOM%20V2.0.exe

Step4:USB转RS485线路连接

注意接线口是否对应:A1B1

 

Step5:使用USB转RS485连接电脑和树莓派,开始通讯

在树莓派中运行代码进入minicom空间

sudo minicom -D /dev/ttyAMA2
// 默认波特率为115200,-D代表端口,/dev/ttyAMA2 类似于windows中的COM口

 打开串口调试助手,选择相应配置

PC端——>树莓派

在PC端发送字符串,会在minicom的窗口显示出来

树莓派——>PC端

在minicom窗口输入字符串会自动发送至PC端,窗口默认不显示键盘输入的字符串

minicom使用技巧:

1、输入ctrl+A,再输入E,可以打开串口发送显示(默认是关闭的),再操作一遍则是隐藏显示

2、输入ctrl+A,再输入Q,Enter,可以退出minicom串口

http://www.lryc.cn/news/259479.html

相关文章:

  • c++知识总结
  • python-爬取壁纸
  • 第31期 | GPTSecurity周报
  • 湖仓一体架构理论与实践汇总
  • Redission从入门到入门
  • PHP对接企业微信
  • 【原创】录剪视频的折腾之路
  • 【BI】FineBI功能学习路径-20231211
  • pytorch之torch.utils.data学习
  • Spring Boot 3中一套可以直接用于生产环境的Log4J2日志配置
  • iOS按钮控件UIButton使用
  • 小程序开发实战案例之三 | 小程序底部导航栏如何设置
  • Android : 序列化 JSON简单应用
  • Java小案例-RocketMQ的11种消息类型,你知道几种?(普通消息和批量消息)
  • 前端小技巧: 设计一个简版前端统计 SDK
  • DevOps搭建(十一)-Jenkins容器内部使用Docker详解
  • 用户访问认证
  • 前端知识(七)———HTTPS:保护网络通信安全的关键
  • element-ui按钮el-button,点击之后恢复之前的颜色
  • Excel: Python 如何干掉 VBA 系列 乙
  • 算法笔记—链表、队列和栈
  • MySQL中的时间函数整理汇总
  • stu06-VSCode里的常用快捷键
  • Bypass open_basedir
  • 【数据库设计和SQL基础语法】--查询数据--过滤
  • 关于git clone速度极慢的解决方法
  • 软件设计不是CRUD(8):低耦合模块设计实战——组织机构模块(下)
  • docker-compose Install gitea
  • 【Pytorch】学习记录分享1——Tensor张量初始化与基本操作
  • Python数据科学视频讲解:Python的数据运算符