PIC 使能485/422_Part2.1使能485_Tx_Only

news2024/12/23 18:43:54

1.需求

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

2.工控机端

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

2.1 usb-485/422接口设备测试

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

485的自发自收可以短接Tx+,Rx+吗? =>check。实测电平值在2.85V(差分线之间)。短接似乎不可能,成对的Tx Rx反相,短接后,理想情况,信号会拉至0.我的接口设备VCC无电压,不知道是不是出错,或者商家就没有引出这个管脚。

485标准:发送器A、B之间的逻辑1安排在+2~+6V;负电平在-2~-6V,是另一个逻辑状态;接收端认为+200mV以上都算1,-200 mV以下都算0

485在接收端,会变成反逻辑,我不知道这个反转是怎么回事。485,422一个全双工,一个半双工,只有这一点区别。电平较RS232降低,说是为了避免接口烧毁。

由上图可知:485标准的发送电压下限是Vpp = 3.0V,我的这款设备几乎是卡着这个下限做的,也兼容了TTL电平。

2.2 CH340支持485半工收发吗?

暂不考虑,往前推进。

3. PIC端

PIC的串行通信模块,叫EUSART,也叫SCI

  1. E ...........enhanced 增强
  2. U...........universal 多功能
  3. S|A ....... syn, asyn 同步和异步
  4. R|T ........recv, transmit,首发

Tx,Rx Pin对应的IO口的TRIS位是用来控制Tx,Rx的自动换向的。它需要强制设置为1。标志着由eusart模块来接管它的方向控制:

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

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

4.着手编码

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

再检查一下:

4.1  uart_ttl tx only => 485tx

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

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

单片机IO口:

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

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

4.2 乱码排错

我把设备发送,和工控机测发送的波形采集了一下:

工控机侧Tx:

设备侧Tx:

两者同时设置为115200波特率时,上位机一侧的实际频率是116736;PIC一侧是113581,但是PIC看起来完全是时钟数据:检查后发现,配置为485模式,不能将eusart设置为同步模式,同步模式会输出时钟和数据两根线,485不是这种协议。

 注意对于485模式,MCC,PINMUX配置出的管脚是Tx1 |Rx1。

修改MCC配置:

 最终效果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/597140.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

零基础学会用Airtest-Selenium对Firefox进行自动化测试

1. 前言 本文将详细介绍如何使用AirtestIDE驱动Firefox测试&#xff0c;以及脱离AirtestIDE怎么驱动Firefox&#xff08;VScode为例&#xff09;。 看完本文零基础小白也能学会Firefox浏览器自动化测试&#xff01;&#xff01;&#xff01; 2. 如何使用AirtestIDE驱动Firef…

MyBatis 所有的 jdbcType类型

MyBatis处理MySQL字段类型date与datetime 1&#xff09; DATETIME 显示格式&#xff1a;yyyy-MM-dd HH:mm:ss 时间范围:[ 1000-01-01 00:00:00到9999-12-31 23:59:59]2&#xff09; DATE 显示格式&#xff1a;yyyy-MM-dd 时间范围&#xff1a;[1000-01-01到9999-12-31]3&#…

【SpringCloud】1.一文带你入门SpringCloud微服务

文章目录 1. 搭建父工程2. 搭建注册中心3. 搭建一个服务提供者4. 搭建一个服务消费者5. 整合OpenFeign实现服务之间的调用 1. 搭建父工程 最近打算使用 springcloud 搭建微服务玩一下&#xff0c;用到的东西大致有以下这些&#xff1a; jdk 1.8idea 2019maven 3.6.3springclo…

CS5466应用电路图|CS5466设计方案原理图|TypeC转HDMI8K30HZ(4K144HZ)芯片方案原理图

CS5466支持dsc1.1/12a压缩视频传输&#xff0c;是一款Type-C转HDMI8K30HZ或者4K144HZ方案芯片&#xff0c;其设计原理图如下&#xff1a; CS5466 Type-C/DP1.4转HDMI2.1的显示协议转换芯片, 内部集成了PD3.0及DSC decoder&#xff0c;可支持DP 2Lane最高8K30或4K144, 并能按客户…

拉取maven项目 pom出现 The <project> element is the root of the descriptor.

引入将各个module 修改JDK版本为1.8&#xff0c;然后再修改 Perferences -> Build -》Compiler -> Java Compiler各个版本&#xff0c;对各个项目改为1.8

Docker容器学习笔记

一、初始Docker 实质上&#xff1a;是将开发的代码和运行环境打包成一个容器。解决开发&#xff08;开发环境&#xff09;、测试&#xff08;测试环境&#xff09;、运维&#xff08;生产环境&#xff09;之间的沟通交流。 1.1Docker的概念 docker&#xff1a;解决跨环境迁移…

B. 广告投放

B. 广告投放 Problem - B - Codeforces 思路&#xff1a;对于这个题来说&#xff0c;我们很容易可以想到是一个dp问题&#xff0c;我们可以使用f[i][j]表示我们已经处理了前i-1个问题&#xff0c;并且当前剩余的人数是j的情况下&#xff0c;能够得到的最大的收益&#xff0c;那…

共享内存(内存映射的使用、注意事项、进程间通信、systemV共享内存)

一、内存映射 概念&#xff1a;使一个磁盘文件与内存中的一个缓冲区相映射&#xff0c;进程可以像访问普通内存一样对文件进行访问&#xff0c;不必再调用read,write。 mmap()的优点&#xff1a; 实现了用户空间和内核空间的高效交互方式 二、函数定义 void *mmap(void *ad…

PMP课堂模拟题目及解析(第17期)

161. 项目发起人任命一位高级工程师到指导委员会&#xff0c;来帮助监督项目管理计划。该工程师经常不同意由项目团队制定的计划&#xff0c;并在提交批准之前对项目管理计划表达严重关切。项目经理应该怎么做&#xff1f; A. 通知项目发起人&#xff0c;该工程师延迟了规划过程…

2、Kingbase - 修改密码报错

情况 Kingbase数据库修改密码后&#xff0c;重新连接失败 提示信息 致命错误: 用户 "system" Password 认证失败 (kbjdbc: autodetected server-encoding to be GB2312, if the message is not readable, please check database logs and/or host, port, dbname, u…

软件外包开发项目管理工具

随着软件项目的规模越做越大&#xff0c;项目管理人员需要使用工具管理项目进度&#xff0c;从而更有成效的管理好软件开发进度。软件开发的进度管理工具有很多&#xff0c;今天和大家分享一些常用的系统工具&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xf…

phpStudy2018 mysql启动失败问题

phpStudy2018 mysql启动失败问题 1.winR运行窗口输入services.msc&#xff0c;检查服务里面有MySQLa没有。 有&#xff0c;就打开服务 没有&#xff0c;就打开phpstudy面板&#xff0c;点击其他选项菜单——>服务管理器——>MySQL——>安装服务&#xff1b;然后刷新…

C++ 继承 文字+图片+代码 超详细解刨

什么是继承&#xff1f; 继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段&#xff0c;它允许程序员在保持原有类特性的基础上进行扩展&#xff0c;增加功能&#xff0c;这样产生新的类&#xff0c;称派生类。 继承呈现了面向对象程序设计的层次结构&am…

二十分钟入门计算机视觉开源神器——课堂笔记

1&#xff0c;统一的深度学习框架&#xff0c;2.0 2&#xff0c;现状 3&#xff0c;代表算法库 &#xff08;1&#xff09;目标检测MMDetection 任务支持&#xff1a;目标家呢&#xff0c;实力分割&#xff0c;全景分割 覆盖广泛 算法丰富 使用方便 &#xff08;2&#xff0…

2023年Q1美团财报解读:拨开云雾 始见月明

原文出处&#xff1a;走马财经 5月底&#xff0c;随着京东、阿里巴巴、腾讯、快手、拼多多、美团等相继发布财报&#xff0c;中国互联网主流大公司的财报发布季结束。 一方面他们体量够大&#xff0c;另一方面他们要么深耕零售&#xff0c;要么与零售、消费息息相关&#xff…

复原IP地址-回溯

1题目 有效 IP 地址 正好由四个整数&#xff08;每个整数位于 0 到 255 之间组成&#xff0c;且不能含有前导 0&#xff09;&#xff0c;整数之间用 . 分隔。 例如&#xff1a;"0.1.2.201" 和 "192.168.1.1" 是 有效 IP 地址&#xff0c;但是 "0.01…

17-Vue3中其它的 Composition API

目录 1、shallowReactive 与 shallowRef2、readonly 与 shallowReadonly3、toRaw 与 markRaw4、customRef5、provide 与 inject6、响应式数据的判断7、Composition API 的优势7.1 Options API 存在的问题7.2 Composition API 的优势 1、shallowReactive 与 shallowRef shallowR…

华为OD机试真题 Java 实现【快速开租建站】【2023Q1 200分】,附详细解题思路

一、题目描述 当前IT部门支撑了子公司颗粒化业务&#xff0c;该部门需要实现为子公司快速开租建站的能力&#xff0c;建站是指在一个全新的环境部署一套IT服务。 每个站点开站会由一系列部署任务项构成&#xff0c;每个任务项部署完成时间都是固定和相等的&#xff0c;设为1。…

细看SLMi823x系列SLMi8233BD双通道隔离驱动在 OBC 上的典型应用

数明深力科SLMi823x系列SLMi8233BD隔离驱动技术优势&#xff1a;具有高性能、高性价比、高可靠性的产品特性&#xff0c;应用覆盖UPS、充电桩、服务器电源、通信电源、新能源汽车动力总成系统的车载 OBC 领域。通过CQC认证的。 车载充电器&#xff08;OBC&#xff09;是电动汽…

如何研究带有不可微项的目标函数的局部极小值?

以optimtool的算法为例来解释 在Python >3.7的编程环境下&#xff0c;按如下方式下载optimtool&#xff0c;一个基于符号微分与数值近似的优化方法库&#xff1a; pip install optimtool --upgrade pip install optimtool>2.4.2目前没有为目标函数中不可微项增加预处理…