PIC 使能485/422笔记(修订中...)

news/2024/11/28 18:42:21/

1.需求

工作中需要把目前设备的单向232转为485/422模式,实现双向通讯,目前查找相关资料。突然想到一件事,我是否能让232现有的单向上发线同时连工控机的tx,rx,然后靠协议,来定时切换PIC一侧的tx rx?PIC可能不支持这个,对吧? check 一下:pinmux如果能把一个io口既可以配成rx,也可以配成tx就可以。。。我觉得这不可能,放弃。

2.工控机端

我的usb接口是一款422、485兼容设备,看看电平规格吧。它的VCC是+5V,似乎可以。它用的是CH340做协议转换,这个片子似乎可以同时支持3种规格的串口协议。

说明,测试的时候,似乎是按422的线序的, TX+ <-> RX,我现在的需求是要能让两根差分线实现双向通讯。据说485的方向识别是个问题。

485的自发自收可以短接Tx+,Rx+吗? =>check。电平值在2.85V.

短接似乎不可能,成对的Tx Rx反相,短接后,理想情况,信号会拉至0.

我的接口设备VCC无电压,不知道是不是出错,或者商家就没有引出这个管脚。

485标准:发送发送器A、B之间的征地安排在+2~+6V,是一个逻辑状态,负电平在-2~-6V,是另一个逻辑状态;接收端认为+200mV以上都算1,-200 mV以下都算0.485在接收端,会变成反逻辑,我不知道这个反转是怎么回事。485,422一个全双工,一个半双工,只有这一点区别。电平较232降低,说是为了避免接口烧毁。

485标准的发送电压下限是Vpp = 3.0V

2.1CH340支持485半工收发吗?

暂不考虑,往前推进。

3. PIC端

PIC的串行通信模块,叫EUSAR,也叫SCI.Tx,Rx Pin的TRIS位是用来控制Tx,Rx的自动换向的。

所以,这件事看起来毫无难度,只要把Tx,Rx的TRIS位使能,然后让设备的Tx Rx分别接至工控机的Tx+Rx+,Tx-Rx-,就OK了?

再检查一下:

 TRIS是控制端口的三态的.所以,这才是半双工的意思,你要自己切?不对:

先尝试切至485  tx模式,这样可以提高信号输出抗干扰能力。

3.1  uart_ttl tx only => 485tx

这是Tx+Tx-,设备一侧的发送。再次检测电平匹配:

上位机侧+5V(一端Tx+,一端Tx-)

单片机IO口:

输出在4.3~0.6之间,可以。 

 器件一侧我配成了同步master tx only。看看能不能通:

 开机会打印嵌入式程序版本号:降低波特率试试=》


http://www.ppmy.cn/news/141117.html

相关文章

canvas实现时钟效果

写的时候遇到的下列几个问题&#xff1a; 1、api了解不深刻&#xff0c;如requestAnimationFrame const fn ()>{ //requestAnimationFrame(fn())//错误的写法 requestAnimationFrame(fn)//正确的写法 }2、关于下面的clear函数(清除动画)与update(更新时间数据)函数&#xf…

C++primerplus习题+答案

1.下面建立友元的尝试有什么错误&#xff1f; a. class snap { friend clasp; …… }; class clasp{……}; 声明一个友元类需要使用以下格式 friend class clasp; 题目内没有使用关键字class&#xff0c;从而造成编译错误。 b. class cuff { public: void snip(muf…

如果 100 个请求,你怎么用 Promise 去控制并发?

目录 前言 引出 明确概念 思路 实现 另一种实现 疑问 有什么能拓展的功能呢&#xff1f; 结尾 前言 现在面试过程当中 &#xff0c;手写题必然是少不了的&#xff0c;其中碰到比较多的无非就是当属 请求并发控制 了。现在基本上前端项目都是通过axios来实现异步请求的…

acing851

spfa:Dijkstra的进化版

Android查看CPU和GPU使用率(五十五)

Android查看CPU和GPU使用率 1、top -t 能打印出线程级别的CPU使用情况0.打印进程的堆栈信息。从堆栈信息里可以通过.so辨别哪个线程是干什么的&#xff0c;从而在 top -t 的结果里去查找你想要的那个线程的 CPU 使用情况。 # debuggerd -b <pid>1.查看高通821 GPU使用率…

EXCEL 怎么把一列数据转换为多行多列数据

目的&#xff1a;将一列120个数据转换为12行10列。 1,首先&#xff0c;在B1格输入“A1”&#xff0c;B2格输入“A13”&#xff0c;然后选中B1、B2&#xff0c;将鼠标移到选中框的右下角(此时鼠标变为“”形&#xff0c;下同)&#xff0c; 按住左键不放将框下拉至B5处。此时B3…

TI Sitara系列AM3352/AM3354/AM3359 ARM Cortex-A8方案分享

相对比消费类市场,工业类市场的产品更加稳定、更新换代速度较慢、生命周期更长。但是即便如此,长时间的“供货慌”,还是会对工业类市场造成冲击,因此除了积极寻求更多的供货渠道,寻求替代物料也成了维持产品生命力的又一出路,特别是主处理器。 以工业网关、工业HMI为例,…

数据结构(C语言第2版) 课后习题答案之第四章 串、数组和广义表

目录 第4章 串、数组和广义表 1&#xff0e;选择题 &#xff08;1&#xff09;串是一种特殊的线性表&#xff0c;其特殊性体现在&#xff08; &#xff09;。 &#xff08;2&#xff09;串下面关于串的的叙述中&#xff0c;&#xff08; &#xff09;是不正确的&#xf…