串口问题——两个设备和电脑串口助手可以正常通信,但这两个设备不能通信

最近遇到了这个比较奇葩的问题。

有两个设备,分别和电脑的串口助手进行串口通信,都没问题,都可以正常通信。

但是,把这两个设备连接起来,却不能通信!!

检查了一下,电平转换没问题,都是符合RS232标准的,否则也不可能跟电脑串口进行通信

检查是否直通和交叉线的问题,也不是,连线是正常的。

用示波器查看波形,查看了好长一段时间,怀疑是电平的问题,更换了MAX3232周围电路的四个电容为1uF,然后就可以了。

后来又出现了问题,更换一块一模一样的电路板,什么问题也没了!!!!!

所以最后我也不知道是原先那块电路板的问题,还是MAX3232这个芯片的问题。

总结:

如果下次再遇到类似的问题,最好先更换一样的电路板,看是否有问题。

如果没有问题,那么是这个电路板单独出现的问题,可能焊接问题等。

如果还是有问题,则是电路板设计的问题。再进行下一步的检查,测试。

时间: 2024-08-07 21:17:05

串口问题——两个设备和电脑串口助手可以正常通信,但这两个设备不能通信的相关文章

使用RXTX获取电脑串口

RXTX是javacomm串口通信的一个扩展 RXTX开发所需文件的下载地址:http://rxtx.qbang.org/wiki/index.php/Download 解压之后可以看到支持各个平台的文件夹: 如果java的安装路径为D:\java\jre7,则将选中的文件夹中的rxtxSerial.dll复制到D:\java\jre7\bin\,       将RXTXcomm.jar复制到D:java\jre\lib\ext\ 然后在项目的lib包中引入RXTXcomm.jar. 1 /**

[WinAPI] 串口1-创建[包括: 打不开串口]

本来是用一个USB扩展把一个USB括成4个,然后把USB转串口连接上,虽然设备管理器可以找到用SSCOM也能找到,但是用API就是打不开,最后把USB转串插在电脑的一个USB上就可以啦! 1 #include <windows.h> 2 #include <stdio.h> 3 #include <stdlib.h> 4 5 bool openport(char *portname)//打开串口 6 { 7 HANDLE hComm; 8 hComm = CreateF

linux设备驱动第三篇:如何写一个简单的字符设备驱动?

在linux设备驱动第一篇:设备驱动程序简介中简单介绍了字符驱动,本篇简单介绍如何写一个简单的字符设备驱动.本篇借鉴LDD中的源码,实现一个与硬件设备无关的字符设备驱动,仅仅操作从内核中分配的一些内存. 下面就开始学习如何写一个简单的字符设备驱动.首先我们来分解一下字符设备驱动都有那些结构或者方法组成,也就是说实现一个可以使用的字符设备驱动我们必须做些什么工作. 1.主设备号和次设备号 对于字符设备的访问是通过文件系统中的设备名称进行的.他们通常位于/dev目录下.如下: [email prot

如何在设备驱动冲突导致蓝屏的情况下强制删除该设备驱动

小梅哥编写,未经允许,不得用于任何商业用途. 插上设备,在设备管理器中选择要卸载的设备驱动,卸载其驱动,大家都会,但是万一设备一插上电脑就蓝屏,连设备管理器打开的机会都不给你咋办呢?这里找到了解决办法.该办法还可以帮忙清理一大堆无用的驱动哦. 这两天,玩儿了下CrazyBingo的那个USB Camera.他那个Camera是用USB2.0芯片CY7C68013做的,该芯片默认驱动不支持win764位.需要关闭windows强制签名.我就关了这个驱动签名,关闭之后成功的安装了驱动并捕获到了图像.

linux设备驱动第三篇:如何实现一个简单的字符设备驱动

在linux设备驱动第一篇:设备驱动程序简介中简单介绍了字符驱动,本篇简单介绍如何写一个简单的字符设备驱动.本篇借鉴LDD中的源码,实现一个与硬件设备无关的字符设备驱动,仅仅操作从内核中分配的一些内存. 下面就开始学习如何写一个简单的字符设备驱动.首先我们来分解一下字符设备驱动都有那些结构或者方法组成,也就是说实现一个可以使用的字符设备驱动我们必须做些什么工作. 1.主设备号和次设备号 对于字符设备的访问是通过文件系统中的设备名称进行的.他们通常位于/dev目录下.如下: ? 1 2 3 4 5

linux设备驱动归纳总结(九):1.platform总线的设备和驱动【转】

本文转载自:http://blog.chinaunix.net/uid-25014876-id-111745.html linux设备驱动归纳总结(九):1.platform总线的设备和驱动 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 这一节可以理解是第八章的延伸,从这节开始介绍platform设备驱动. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

两个List去掉重复元素放在一个List中去【两个Listsize值非常大】

/* * 思路: * 1.取得两个list的相同元素:list.retainAll(E)方法 * 2.两个list分别去掉相同的元素:list.removeAll(E); * 3.将剩下的两个List分别加入到一个新的List去:addAll */ public class Test1 { public static void main(String[] args) { List list1 = new ArrayList(); Random random = new Random(); //l

一个整型数组里除了两个不同数字之外,其它的数字都出现了两次。请写程序找出这两个只出现一次的数字。

曾经做过一道水题找出除了一个数字之外,其他数字都有2个.直接异或 最后结果就是那个数. 现在变成存在2个不一样的数字,假设成x,y,那么可以O(n)求出x^y,因为x,y不同,所以异或的结果不为0,看成2进制数,那么找到第一位为1 的位置,将这个位置设置为划分点,数组里所有这个位置为1 的异或一次,所有为0的再异或一次,最终求出的两个即为两个独特的数字. #include <stdio.h> #include <string.h> #include <algorithm>

对比两个同类型的泛型集合并返回差异泛型集合 ——两个List&lt;类名&gt;的比较

1: /// <summary> 2: /// 对比两个同类型的泛型集合并返回差异泛型集合 3: /// </summary> 4: /// <typeparam name="T">泛型类型</typeparam> 5: /// <param name="newModel">修改后的数据集合</param> 6: /// <param name="oldModel"&g