树莓派4B如何使用串口与外部进行通信
大家好,又见面了,我是你们的朋友全栈君。
外设IO口定义说明
从树莓派的相关资料我们可以看到,树莓派有两个串口可以使用,一个是硬件串口(/dev/ttyAMA0),另一个是mini串口(/dev/ttyS0)。硬件串口有单独的波特率时钟源,性能好,稳定性强;mini串口功能简单,稳定性较差,波特率由CPU内核时钟提供,受内核时钟影响。 树莓派(3/4代)板载蓝牙模块,默认的硬件串口是分配给蓝牙模块使用的,而性能较差的mini串口是分配给GPIO串口 TXD0、RXD0。
Serial 配置
首先运行ls /dev -al命令查看到默认的串口分配方式,如下图所示:
由于硬件串口分配给板载蓝牙使用,所以要释放掉,并设置硬件串口分配给GPIO串口。 首先登陆终端后,输入sudo raspi-config命令进入树莓派系统配置界面,选择第五个Interfacing Options:
进入P6 Serial
选择关闭串口登录功能,打开硬件串口调试功能:
完成后提示以下界面,按OK
设置硬件串口为GPIO串口
接着将串口配置为我们的GPIO串口,对输入sudo vim /boot/config.txt命令,将下面两行内容添加到最后:dtoverlay=pi3-miniuart-bt force_turbo=1
修改后保存并退出,内容如下图片所示:
重启树莓派后,再次输入ls /dev -al,可以看到两个串口已经互相换了位置:
minicom串口助手测试
首先输入sudo apt-get install minicom命令安装minicom,安装完成后,输入minicom -D /dev/ttyAMA0 -b 9600启动minicom,如图所示:
其中-D表示选择串口/dev/ttyAMA0,-b 设置波特率为9600,此参数可以不用设置,默认11520,并且退出minicom时需要先按Ctrl+A,再按Z,弹出以下菜单,0。 将树莓派与TTL对应接上,就可以通过PC串口助手与树莓派互相发送、接收数据,但是树莓派在发送数据时,命令终端并不会显示,如下图所示:
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/134450.html原文链接:https://javaforall.cn
相关文章
- C# 串口通信 stm32 电机
- 双管道(CreatePipe)与本地cmd.exe进程通信(附源代码及编译好的程序,免费下载)
- Electron入门教程3 ——进程通信
- CAN与CAN FD通信之间存在的问题
- AntDB数据库与DSG强强联手,助力通信行业核心系统国产化
- 进程间的7种通信方式_linux 进程间通信
- c++线程间通信_c语言两个线程如何通信
- 「电子」树莓派4B与Arduino开发板通信
- 使用 PHP WorkerMan 构建 WebSocket 全双工群聊通信
- 安全地使用 Redis(下):基于 Spiped 代理对通信进行加密
- 关于使用XCOM进行串口通信时乱码的解决方案(正点原子F407教程中遇到的问题)
- C++ 使用Socket实现主机间的UDP/TCP通信
- NoneBot2 + Go-cqhttp开源通信框架玩转智能AI机器人 - ChatGPT
- 如何使用Tunna实现信道封装和TCP通信并绕过网络防火墙限制
- 【EventBus】事件通信框架 ( 订阅类-订阅方法缓存集合 | 事件类型-订阅者集合 | 订阅对象-事件类型集合 )
- 以太网通信控制板-控制板连接电脑网线然后作为TCP客户端和电脑端的TCP服务器通信(RS485,RS232,TTL透传;MODBUS协议解析)
- TRICONEX 9561-810 协议进行的通信使用相同的物理层
- 接使用Redis优化长连接通信性能(redis长连)
- 使用Linux进行Modbus通信(modbuslinux)
- Linux管道编程:用一种更高效的方式进行通信(linux管道编程)
- overlay 如何实现跨主机通信?- 每天5分钟玩转 Docker 容器技术(52)
- 探讨 Linux 应用程序如何使用串口通信技术,串口通信在物联网设备通讯中发挥重要作用(linux应用串口)
- Linux下使用I2C通信进行读写操作(linuxi2c读写)
- 使用SSL保护MySQL数据库的通信流程(usesslmysql)
- 瞬间畅通即时通信系统Redis(即时通信redis)
- Redis实现分布式通信改善数据高效传输(基于redis通信)
- Redis集群中的通信协议(redis 集群通信)
- 协议Redis使用TCP协议建立稳定通信(redis通过什么通信)
- 建立可靠的Redis通信连接(redis通信连接)
- winform使用委托和事件来完成两个窗体之间通信的实例
- python多进程通信模块的简单实现
- 使用mysql_udf与curl库完成http_post通信模块示例
- JavaScript使用HTML5的window.postMessage实现跨域通信例子
- C++广播通信实例