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

RS232实现主单从多通讯

文章目录

    • 概要
    • 硬件部分
    • 软件部分
    • 小结

提示:本文属于技术的交流,如有抄袭请联系删除。

概要

众所周知,485通信可以悬挂多个设备进行通信,而RS232通讯一般用于两个设备之间的通讯,因此本文主要实现单个MCU通过一个RS232芯片同时与多个设备进行通讯。
`

硬件部分

  1. 无法通讯的原因
    硬件端的修改主要是在RS232芯片的TX与单片机的RX连接中添加一个上拉电阻,若不添加该电阻,RS232在进行多个设备通讯中TX端向单片机发送数据信号会被拉低导致单片机无法接受到下端设备发送的数据,信号如图1。不加电阻TX端信号
    图1
  2. 修改后的原理图
    在这里插入图片描述

软件部分

软件部分以STM3为例,默认中的USART1的Pin工作模式一般使用复用推挽输出( GPIO_Mode_AF_PP ),而使用该模式数据段无法将下位机的数据进行接收,需要更改为复用开漏输出 ( GPIO_Mode_AF_OD )。两个模式的区别如图2和图3
在这里插入图片描述

图2 (GPIO_Mode_AF_PP)
在这里插入图片描述

图3 (GPIO_Mode_AF_OD)

小结

本文主要分享只使用单个RS232芯片进行多个设备通信的方法,实验只测试了3个从设备与一个主设备的通讯,且通讯是必须要对从机进行编号以识别是哪个设备,至于悬挂多个设备时传输的数据是否稳定,还需进一步的测试。

http://www.xdnf.cn/news/38467.html

相关文章:

  • PTA | 与零交换
  • 220V转DC3V-3.2VLED供电WT5105
  • Nacos配置中心服务端源码解析
  • 程序性能(1)嵌入式基准测试工具
  • vmare识别不到共享文件夹,报错:fuse: bad mount point `/mnt/hgfs‘: No such file or directory
  • Python requests代理(Proxy)使用教程
  • Transformer(李宏毅)
  • C语言数据结构顺序表
  • 面试题--随机(一)
  • 每日算法-250419
  • 实验扩充 LED显示4*4键位值
  • 航电春季赛(七)1010 网格计数
  • python(八)-数据类型转换
  • 【C++算法】66.栈_比较含退格的字符串
  • linux软件仓库
  • 【AIVS】OPENAIVS开源视频推理系统简介
  • 【内置函数】84个Python内置函数全整理
  • 嘉立创原理图、PCB常见问题
  • 8.5/Q1,Charls最新文章解读
  • JavaScript 变量命名规范
  • LeetCode 2563.统计公平数对的数目:排序 + 二分查找
  • 行为审计软件:企业合规与内部监控的数字守门人
  • 硬件工程师面试常见问题(3)
  • Linux下使用C++获取硬件信息
  • Spring Cloud CircuitBreaker服务熔断+隔离+限流
  • 【解决】torch引入过程中的ImportError: __nvJitLinkAddData_12_1, version libnvJitLink.so.12
  • 编程技能:调试04,逐语句命令
  • 08-DevOps-向Harbor上传自定义镜像
  • 【数字IC进阶】整数除3和模3的高效实现
  • 网络开发基础(游戏方向)之 概念名词