232串口线怎么接(分析232串口线接线图和注意项」

美好的1天将要从这里开始啦!今天笔者许琰珺来说说232串口线怎么接(分析232串口线接线图和注意项,还有通讯,电平,数据等等等各种相关干货内容,成功的路上不会一帆风顺,每一个成功的背后都有一个惊人的故事。

废话少说,下面大家跟我一起来研读一下这篇文章,文章较长,建议点赞收藏,方便以后再看!另外能麻烦大家个事吗?能不能每次点个在看!让这篇好文章分享出去,让更多的人看到!

什么是串口通讯?

串行通讯是指仅用一根接收线和一根发送线就能将数据以位进行传输的一种通讯方式。尽管串行通讯的比按字节传输的并行通信慢,但是串口可以在仅仅使用两根线的情况下就能实现数据的传输。

典型的串口通信使用3根线完成,分别是地线、发送、接收。由于串口通信是异步的,所以端口能够在一根线上发送数据同时在另一根线上接收数据。串口通信最重要的参数是波特率、数据位、停止位和奇偶的校验。对于两个需要进行串口通信的端口,这些参数必须匹配,这也是能够实现串口通讯的前提。

串口通讯还搞不懂?快来看看这篇文章吧

图1:串行通讯示数据传输意图

二、串口通讯的通讯协议?

最初数据是模拟信号输出简单过程量,后来仪表接口出现了RS232接口,这种接口可以实现点对点的通信方式,但这种方式不能实现联网功能,这就促生了RS485。

我们知道串口通信的数据传输都是0和1,在单总线、I2C、UART中都是通过一根线的高低电平来判断逻辑1或者逻辑0,但这种信号线的GND再与其他设备形成共地模式的通信,这种共地模式传输容易产生干扰,并且抗干扰性能也比较弱。所以差分通信、支持多机通信、抗干扰强的RS485就被广泛地使用了。

RS485通信最大特点就是传输速度可以达到10Mb/s以上,传输距离可以达到3000米左右。大家需要注意的是虽然485最大速度和最大传输距离都很大,但是传输的速度是会随距离地增加而变慢的,所以两者是不可以兼得的。

三、串口通讯的物理层

串口通讯的物理层有很多标准,例如上面提到的,我们主要讲解RS-232标准,RS-232标准主要规定了信号的用途、通讯接口以及信号的电平标准。

串口通讯还搞不懂?快来看看这篇文章吧

在上面的通讯方式中,两个通讯设备的”DB9接口”之间通过串口信号线建立起连接,串口信号线中使用”RS-232标准”传输数据信号。由于RS-232电平标准的信号不能直接被控制器直接识别,所以这些信号会经过一个”电平转换芯片”转换成控制器能识别的”TTL校准”的电平信号,才能实现通讯。

下图为DB9标准串口通讯接口:

串口通讯还搞不懂?快来看看这篇文章吧

DB9引脚说明:

串口通讯还搞不懂?快来看看这篇文章吧

上表中的是计算机端的DB9公头标准接法,由于两个通讯设备之间的收发信号(RXD与TXD)应交叉相连,所以调制调解器端的DB9母头的收发信号接法一般与公头的相反,两个设备之间连接时,只要使用”直通型”的串口线连接起来即可。

串口通讯还搞不懂?快来看看这篇文章吧

串口线中的RTS、CTS、DSR、DTR及DCD信号,使用逻辑 1表示信号有效,逻辑0表示信号无效。例如,当计算机端控制DTR信号线表示为逻辑1时,它是为了告知远端的调制调解器,本机已准备好接收数据,0则表示还没准备就绪。

四、波特率

波特率是指数据信号对载波的调制速率,它用单位时间内载波调制状态改变的次数来表示;

串口通讯还搞不懂?快来看看这篇文章吧

比如波特率为9600bps;代表的就是每秒中传输9600bit,也就是相当于每一秒中划分成了9600等份。

因此,那么每1bit的时间就是1/9600秒=104.1666…us。约0.1ms。既然是9600等份,即每1bit紧接着下一个比特,不存在额外的间隔。两台设备要想实现串口通讯,这收发端设置的波特率必须相同,否则是没办法实现通讯的。

收发波特率一致可以实现通讯:

串口通讯还搞不懂?快来看看这篇文章吧

收发波特率不一致,导致RX端不能正常接收。

五、串口通讯的数据结构

串口通讯还搞不懂?快来看看这篇文章吧

起始位: 起始位必须是持续一个比特时间的逻辑0电平,标志传输一个字符的开始,接收方可用起始位使自己的接收时钟与发送方的数据同步。

数据位: 数据位紧跟在起始位之后,是通信中的真正有效信息。数据位的位数可以由通信双方共同约定。传输数据时先传送字符的低位,后传送字符的高位。

奇偶校验位: 奇偶校验位仅占一位,用于进行奇校验或偶校验,奇偶检验位不是必须有的。如果是奇校验,需要保证传输的数据总共有奇数个逻辑高位;如果是偶校验,需要保证传输的数据总共有偶数个逻辑高位。

停止位: 停止位可以是是1位、1.5位或2位,可以由软件设定。它一定是逻辑1电平,标志着传输一个字符的结束。

空闲位: 空闲位是指从一个字符的停止位结束到下一个字符的起始位开始,表示线路处于空闲状态,必须由高电平来填充。

六、单双工通讯

单工: 数据传输只支持数据在一个方向上传输;

半双工: 允许数据在两个方向上传输,但某一时刻只允许数据在一个方向上传输,实际上是一种切换方向的单工通信,不需要独立的接收端和发送端,两者可合并为一个端口;

全双工: 允许数据同时在两个方向上传输,因此全双工通信是两个单工方式的结合,需要独立的接收端和发送端。

串口通讯还搞不懂?快来看看这篇文章吧

七、STM32中的串口通讯

STM32串口通信接口有两种,分别是:UART(通用异步收发器)、USART(通用同步异步收发器),对于大容量STM32F10x系列芯片,分别由3个USART和两个UART。

串口通讯还搞不懂?快来看看这篇文章吧

TXD:数据发送引脚;RXD:数据输入引脚

对于两芯片的间的连接,两个芯片GND共地,同时TXD和RXD交叉连接,这样两个芯片间可进行TTL电平通信。

但如果对于芯片和PC机相连,除了共地条件外,不能使用如上的直接交叉连接,虽然两者都有TXD和RXD引脚,但通常PC机使用的是RS232接口(9针),通常是TXC和RXD经过电平转换得到,故如果要使芯片与PC机的RS232接口直接通信,需要将芯片的输入输出端口也电平转换为RS232类型,再交叉连接,二者的电平标准不同:

单片机的点评标准(TTL电平):+5V表示1,0V表示0;

RS232电平标准:+15/+13V表示0,-15/-13表示1。

串口通讯还搞不懂?快来看看这篇文章吧

因此单片机与PC机进行串口通信应该遵循:在单片机串口与上位机给出的RS232口之间,通过电平转换电路实现TTL电平与RS232电平间的转换.

如果使用USB转串口也可以实现串口通讯,USB转串口电路图如下所示

串口通讯还搞不懂?快来看看这篇文章吧

STM32串口通讯代码

STM32中串口通讯已经给大家建好了相应的库函数,大家在使用和配置串口的时候直接进行调用库函数和配置就行了,请大家参照一下代码:

1、初始化结构体代码

typedef struct {
 uint32_t USART_BaudRate; // 波特率
 uint16_t USART_WordLength; // 字长
 uint16_t USART_StopBits; // 停止位
 uint16_t USART_Parity; // 校验位
 uint16_t USART_Mode; // USART 模式
 uint16_t USART_HardwareFlowControl; // 硬件流控制
 } USART_InitTypeDef;

2、NVIC配置中断优先级

NVIC_Configuration(void)
{
  NVIC_InitTypeDef NVIC_InitStructure;
  
  /* 嵌套向量中断控制器组选择 */
  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
  
  /* 配置USART为中断源 */
  NVIC_InitStructure.NVIC_IRQChannel = DEBUG_USART_IRQ;
  /* 抢断优先级*/
  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
  /* 子优先级 */
  NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
  /* 使能中断 */
  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  /* 初始化配置NVIC */
  NVIC_Init(&NVIC_InitStructure);
}

3、USART配置函数

void DEBUG_USART_Config(void)
{
 GPIO_InitTypeDef GPIO_InitStructure;
 USART_InitTypeDef USART_InitStructure;
 
 /* 第一步:初始化GPIO */
  // 打开串口GPIO的时钟
 DEBUG_USART_GPIO_APBxClkCmd(DEBUG_USART_GPIO_CLK, ENABLE);
  // 将USART Tx的GPIO配置为推挽复用模式
 GPIO_InitStructure.GPIO_Pin = DEBUG_USART_TX_GPIO_PIN;
 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
 GPIO_Init(DEBUG_USART_TX_GPIO_PORT, &GPIO_InitStructure);

  // 将USART Rx的GPIO配置为浮空输入模式
 GPIO_InitStructure.GPIO_Pin = DEBUG_USART_RX_GPIO_PIN;
 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
 GPIO_Init(DEBUG_USART_RX_GPIO_PORT, &GPIO_InitStructure); 
 
 /* 第二步:配置串口的初始化结构体 */
  // 打开串口外设的时钟
 DEBUG_USART_APBxClkCmd(DEBUG_USART_CLK, ENABLE);
 // 配置串口的工作参数
 // 配置波特率
 USART_InitStructure.USART_BaudRate = DEBUG_USART_BAUDRATE;
 // 配置 针数据字长
 USART_InitStructure.USART_WordLength = USART_WordLength_8b;
 // 配置停止位
 USART_InitStructure.USART_StopBits = USART_StopBits_1;
 // 配置校验位
 USART_InitStructure.USART_Parity = USART_Parity_No ;
 // 配置硬件流控制
 USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
 // 配置工作模式,收发一起
 USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
 // 完成串口的初始化配置
 USART_Init(DEBUG_USARTx, &USART_InitStructure);

/*--------------------------------------------------------*/
 // 串口中断优先级配置
 NVIC_Configuration();
 
 // 使能串口接收中断
 USART_ITConfig(DEBUG_USARTx, USART_IT_RXNE, ENABLE);
/*--------------------------------------------------------*/
 
 /* 第三步:使能串口 */ 
  // 使能串口
 USART_Cmd(DEBUG_USARTx, ENABLE); 
}

这篇文章就到这里了,希望我整理的这篇文章能帮到你,认真、仔细阅读完232串口线怎么接(分析232串口线接线图和注意项」,对自己有帮助,麻烦记得点个赞哦!

本文发布者:万事通,不代表寂寞网立场,转载请注明出处:https://www.jimowang.com/p/11679.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 jimowangmail@126.com 举报,一经查实,本站将立刻删除。

(0)
上一篇 2022年10月24日 09:08
下一篇 2022年10月24日 09:11

相关推荐

  • 藏在千年文物里的龙竟然这么多 – 视频

    各位朋友们大家好,我是新闻记者许桓德,近来藏在千年文物里的龙竟然这么多的热度不断攀升,成为网络热门话题,现在,就请跟我一同探索这个事件的背后故事吧! 原标题:藏在千年文物里的龙竟然这么多 从神秘的史前玉龙到精致的龙纹瓷器,龙的形象贯穿着中华大地数千年的文明演进,渗透进民俗生活的方方面面,成为中华文化独特的精神标识,寄寓着吉祥、繁盛、腾飞的愿景。在山东的博物馆…

  • 贡菜煮火锅需要泡发吗 贡菜煮火锅需要提前泡吗

    大家好,今天吴紫彤为大家带来了一些关于贡菜煮火锅需要泡发吗,贡菜煮火锅需要提前泡吗的专业知识,以及火锅,人类,人体,肠胃,功能相关的最新实用干货和分享技巧,在整理自己的思路之后,我写下了这篇文章,希望能够为大家提供一些有用的建议和指导,让你们更好地把握思路。 贡菜是比较受欢迎的一种食物,它吃起来味道很不错,脆脆的,很有嚼劲,很多人都会用贡菜煮火锅吃。贡菜煮火…

    2023年3月30日
  • 夸克怎么用关键词搜索「必看:夸克怎么用」

    小伙伴们你们好,杨光很高兴又和各位见面了,今天主要来讲讲夸克怎么用关键词搜索,夸克怎么用,以及夸克,网页,关键词,功能,工具箱等等相关的各种干货,其实这个内容对于新手来说还是挺重要的,因为涉及面很大。如果你认真读了,一定会有所收获! 我们上网的时候会经常碰到英文网页吗,这时候我们可以使用quark的翻译网页功能,搜索到的内容将被立即转换,非常方便。下面杨光将…

    2023年2月15日 自媒体
  • 佳能打印机墨盒怎么装「推荐更换打印机墨盒步骤」

    今天李琳颖给大家带来了这篇佳能打印机墨盒怎么装,更换打印机墨盒步骤干货,还有关于墨盒,打印机,提示等一系列的内容,精心为你准备的干货,通过这篇文章相信你能有所收货! 佳能G2020打印机提示1726错误代码,保养墨盒已满然后更换保养墨盒 佳能G2020打印机提示1726,保养墨盒已满然后更换保养墨盒 佳能G2020打印机提示1726错误代码 佳能G2020打…

    2022年11月23日 自媒体
  • 广州十佳女装品牌大全排行榜「最新广州十大女装品牌有哪些」

    大家好,今天何逸昭给大家讲解下关于广州十佳女装品牌大全排行榜(广州十大女装品牌有哪些)的事情,还有市场,服装,时尚等等等各种相关干货内容,思路决定出路,确实,这个真的很重要,希望能帮到你! 韩都衣舍HSTYLE( 国内互联网快时尚热销品牌,以韩风快时尚风格深受欢迎的知名流行服饰十大品牌,韩都衣舍电子商务集团股份有限公司 )2018九大中国女装品牌排行榜22….

    自媒体 2022年10月27日
  • 现在开传奇私服赚钱是不可能的?不:最新只是你不会做而已

    美好的1天将要从这里开始啦!今天笔者冯子童来说说现在开传奇私服赚钱是不可能的?不,只是你不会做而已,以及关于原图,游戏,同行这些的相关干货,希望你们能通过这篇文章很好的掌握其中的技巧,下面我就来为大家全部一一解析! 现在开传奇私服赚钱是不可能的?因为他们根本就没有深入研究过这个为什么能赚钱,钱又从哪里来,用户凭什么给钱给你?当你把这些问题解决了,你觉得赚钱还…

    2022年11月27日