串口,com口,ttl,max232你应该知道的事

640?wx_fmt=jpeg


今天,说几个比较基础的知识,大家在开发过程中经常会遇到但是又不是特别注意的知识点。



TTL电平:

TTL是Transistor-Transistor Logic,即晶体管-晶体管逻辑的简称,它是计算机处理器控制的设备内部各部分之间通信的标准技术。TTL电平信号应用广泛,是因为其数据表示采用二进制规定,+5V等价于逻辑"1",0V等价于逻辑"0"。

数字电路中,由TTL电子元器件组成电路的电平是个电压范围,规定:

输出高电平>=2.4V,输出低电平<=0.4V;

输入高电平>=2.0V,输入低电平<=0.8V。

噪声容限是0.4V。


RS232电平:

RS232是串口的一个标准,它有自己的电平定义:它采用负逻辑,-15V~-3V代表逻辑"1",+3V~+15V代表逻辑"0"。


2

串口,COM口就是电脑上的物理接口形式,COM口简称串口。而TTL,RS-232,是电平标准,就是多少电压范围代表逻辑“ 1 ”,多少电压范围代表逻辑“ 0 ”。大家都知道在电子的世界里面就是 0 和 1 而已嘛。

640?wx_fmt=jpeg

下图是 USB 转 RS232 的转换线,我们看到很多线,只要是 9 pin 的,就可以猜测这个鬼东西是 RS232 的串口线,如果是 排针引出的,可以认为是 TTL 电平的。

640?wx_fmt=jpeg


PL2303、CP2102 芯片是 USB 转成 TTL 串口的芯片,我们以前在学习 51 单片机、 STM32 经常这样用,也要注意端口的电平是多少 V 。而 MAX232 芯片是 TTL 电平 和 RS232 电平的双向转换芯片。

640?wx_fmt=gif640?wx_fmt=png

为什么有了 TTL 电平还需要 RS232 和 RS485 两种电平呢?

TTL 电平传输距离比较近,主要用于芯片之间的传输,RS232 和 RS485 数据传输距离比较远。


3

一般从芯片里引出的UART口就是TTL电平,其引脚如下:

640?wx_fmt=png

640?wx_fmt=gif

学习 STC 单片机的同学应该记得,我们以前开发的时候,都是用串口线给单片机下载程序的,用到的串口就是 RS232 ,类似下面这样的,工作以后公司配的电脑都没有了这个东西,笔记本也没有了,大家用的最多的都是 USB 转串口线。

640?wx_fmt=gif

640?wx_fmt=png


4

最后说一个我遇到串口调试比较奇葩是问题,我最近做一个 Android 设备上的串口 透传实验,前两周做好了 demo 收发数据都没有问题,我发送 0123456789ABCDEF 在接收端也能正常接收,今天过来调试的时候发现了问题,发现接收到的数据变成了 7F6E5D4C3B2A1908 (而且每次都是这样的稳定数据),我当时看到这个数据,简直是要疯了的感觉,然后我自己又用命令行 echo cat 来调试,结果还是一样的悲剧,实在没办法了,就约了小 C 去楼下喝了一杯水,回来把设备上的串口线重新插拔了下,结果,你们知道的,就那么好了。希望这里给大家一点帮助,调试之前一定要保证硬件设备是 OK 的,而且之前的调试记录和软件硬件环境要记录好,这样会减少排查问题的时间。


这样的解决办法不是正向的,N 年前,面试的时候,有个面试官问我一个很刁钻的问题,说遇到难题的时候如何正向解决,就是说知道问题了,不能倒推验证,相反,我是比较喜欢倒推验证的,「不管白猫黑猫,抓到老鼠的就是好猫」,在学习知识道路中,会遇到很多人质疑你,做自己就好,不一定要迎合别人。


共勉。


5

推荐两个东西,一个是韦东山老师的视频课程,大家可以通过我来购买,其他优惠我不敢保证,保证能跟我一起学习吧,有问题我也优先给解答,学习的路上,多我一个,不孤单,生活的路上,多我一个,会很逗逼。

640?wx_fmt=png

还有一个就是我的知识星球了,如果大家有问题想找我提问,有技术难题需要讨论的,欢迎加我的知识星球,当然,我知道的问题不仅仅是技术问题。




640?wx_fmt=gif

640?wx_fmt=jpeg


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

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

相关文章

视觉slam十四讲 pdf_视觉SLAM十四讲|第12讲 回环检测

1. 什么是回环检测前面有说过累积误差的问题&#xff0c;前一时刻的误差会积累到后面&#xff0c;导致画不成圈圈&#xff0c;如图12-1所示&#xff0c;而画圈圈&#xff08;全局一致性&#xff09;很重要&#xff0c;所以需要有一个步骤来纠正当前的计算偏差。回环检测通过判断…

Caffe2 的基本数据结构(Basics of Caffe2 - Workspaces, Operators, and Nets)[4]

这篇文章主要介绍Caffe2的基本数据结构&#xff1a; WorkspacesOperatorsNets在开始之前最好先阅读以下Intro Turorial首先&#xff0c;导入caffe2。其中core和worksapce模块&#xff0c;这是必须的两个模块。如果你要使用Caffe2生成的protocol buffers&#xff0c;那么你也需要…

学习Java中遇到的问题积累_1

1.奇数性 看下面代码时候是否能判断参数 i 是奇数? public static boolean isOdd(int i){ return i % 2 1; }答案是: NO 看似正确的判断奇数, 但是如果 i 是负数, 那么它返回值都是false 造成这种现象的是 > 从思想上固化, 认为奇数只在正数范围, 故判断负数将报错, 在…

Linux 开发者最应该知道的命令汇总

&#xff11;最近发现一个好东西&#xff0c;在 github 上发现的&#xff0c;我觉得非常适合大家研究 linux&#xff0c;说白了就是一些命令而已&#xff0c;只不过是作者帮忙总结好了&#xff0c;比较适合大家开发和学习 linux 系统&#xff0c;so , 推荐给大家学习下。https:…

华为任职资格_华为采购总部专业任职资格标准|

目 录 序 言 概述 .........................第一部分 级别定义.....................第二部分 资格标准 ....................1、采购工程师&#xff08;生产采购&#xff09;任职资格标准........2、采购员&#xff08;生产采购&#xff09;任职资格标准............3、采购员…

VirtualBox设置共享目录(主机win7,虚拟机Ubuntu)

1、安装增强功能包 启动虚拟机后&#xff0c;在 设备 -》 分配光驱 选择VBoxGuestAdditions.iso增强包镜像&#xff08;在virtualbox安装目录下&#xff09; 在虚拟机中挂载光驱镜像&#xff1a; #mkdir /mnt/cdrom#mount /dev/cdrom /mnt/cdrom 执行增强包安装程序&#xff…

C 语言内存分配

&#xff11;昨天有一个群里的同学问我&#xff0c;他问我的问题是 c 语言函数是存在哪里的&#xff1f;是如何执行的&#xff1f;我下意识的觉得这位同学应该是个初学者&#xff0c;所以今天就写下一些基础方面的内容&#xff0c;「C语言的内存布局」。程序代码可以看做是一个…

正则表达式符号特殊详解_常用正则表达式_Java中正则表达式的使用

正则表达式符号详解 限定符: 指定一个组件必须出现多少次才能满足. 1.使用 “*”, “”, “?” 作为限定符: "*": 匹配前面的子表达式零次或多次。例如&#xff0c;zo* 能匹配 "z" 以及 "zoo"。* 等价于{0,}。"": 匹配前面的子表达…

python中求包含5的数_Python 内置函数 ( ) 可以返回列表、元组、字典、集合、字符串以及 range 对象中元素个数。_学小易找答案...

【简答题】实例1:求两数相除的结果。 先后输入2个数据,计算第一个数除以第二个数的结果。 要求能够处理输入数据为非数字、除数为零、文件末尾EndOfFile 和用户使用Ctrl + C 命令终止程序等异常,提高用户体验。 当输入数据为非数字时提示错误信息并让用户重新输入。 input()函数…

没有梦想,你跟咸鱼有什么分别?

&#xff11;标题起的有点夸张&#xff0c;其实这个就是一个招聘贴&#xff0c;之前从来没有用发头条文章来招聘&#xff0c;实在不好意思&#xff0c;这个招聘对我非常重要&#xff0c;这是一个非常好的朋友公司的招聘信息&#xff0c;也希望大家帮忙扩散一下&#xff0c;因为…

一个很Low的通讯录管理系统(但是能用)C/C++单链表实现

通讯录管理系统的设计 问题需求分析 在计算机还未普及之前通讯管理都是由联系人采用名片&#xff0c;通讯录往往采用的是笔录手工记帐的方式来操作的。现在一般的通讯录管理都是采用计算机作为工具的实用的计算机通讯录管理程序来帮助人们进行更有效的通讯录信息管理。本通讯…

2017《面向对象程序设计》课程作业三

作业链接github链接 对于文件读写和多参数主函数学习过程中遇到的问题 这次文件读写改用了C的形式&#xff0c;然后总体还算顺利&#xff0c;借鉴了林燊的&#xff0c;因为他写的代码最容易看懂&#xff1b;还有就是借鉴了《C程序设计》&#xff0c;讲真&#xff0c;谭浩强的还…

做人力资源需要掌握python_9种人力资源分析工具,高效打造数字化HR全流程

对于许多人和组织而言&#xff0c;采用HR分析是一大进步。确实&#xff0c;我经常被问到&#xff1a;“最好使用什么人力资源分析工具&#xff1f;”本文将为您提供该问题的答案&#xff0c;以下是要使用的九种最佳人力资源分析工具的列表。1、RR是最常用的HR分析工具。R非常适…

华为不做黑寡妇,开源编译器,与友商共建安卓性能

&#xff11;今天我的一个老哥开了头条号&#xff0c;第一次发文章&#xff0c;我觉得不错&#xff0c;拿来用用&#xff0c;给大家看看华为技术总工的文采。这位总工潜伏在我的微信群里很少说话&#xff0c;大家一定要有这个想法&#xff0c;就是最低调的那个人&#xff0c;真…

点击链接如何直接跳转到相对应的聊天窗口

解决这个问题的步骤如下&#xff1a; <a target"_blank" href"http://wpa.qq.com/msgrd?v3&uin3237465337&siteqq&menuyes">一、登陆腾讯官方网站&#xff1a;http://wp.qq.com/ 二、登陆之后&#xff0c;点“设置”&#xff0c;按下图…

哈夫曼树编码与译码(完整C/C++实现代码)

哈夫曼编码的设计与应用 问题需求分析 用哈夫曼编码(Huffman Coding)&#xff0c;又称霍夫曼编码&#xff0c;是一种编码方式&#xff0c;哈夫曼编码是可变字长编码(VLC)的一种。Huffman于1952年提出一种编码方法&#xff0c;该方法完全依据字符出现概率来构造异字头的平均长…

移动应用开发实例_物联网改变移动应用开发的4种方式

图片来源&#xff1a;pixabay.com来源&#xff1a;物联之家网(iothome.com)转载请注明来源&#xff01;物联网改变了移动应用程序的开发格局。那么&#xff0c;为物联网开发移动应用程序有何不同&#xff1f;物联网与移动应用程序开发齐头并进。物联网改变了人类与机器的互动方…

谁都能看懂的网络模型知识

&#xff11;.网络是我们做嵌入式 避无可避的知识点&#xff0c;但是网络的层次很多&#xff0c;很多时候我们根本理解不了其中的层次和作用&#xff0c;今天跟我们公司的 X 总聊到这个&#xff0c;给我普及了一些知识&#xff0c;我觉得非常有用&#xff0c;分享给大家。最近事…

Java微信公众平台获取签名

如果想使用微信的JSSDK&#xff0c;需要注册公众号和获取签名&#xff0c;Java代码实现如附件&#xff1a; 使用的是servlet&#xff0c;access_token和ticket缓存在application作用域里 附件为源代码&#xff1a;wx.zip转载于:https://www.cnblogs.com/yrcn/p/6831808.html

常用排序算法以及算法性能测试(完整C/C++代码实现)

排序算法性能的比较 注: 由于只是测试算法性能, 所以不会对排序算法做深入讲解, 在随后的时间将会推出排序的详细讲解 问题需求分析 排序算法经过了很长时间的演变&#xff0c;产生了很多种不同的方法。每种算法主要针对不同的数列进行排序&#xff0c;这些排序算法具有各自…