完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
串口通信全解(一)
大部分人第一次接触串口通信应该都是单片机和PC的通讯,单片机只需要使用一根USB线和电脑连接起来,写好代码之后,通过串口助手就可以和PC实现数据的收发。由于是在设计好的开发板上实现的,很多过程容易被我们忽略,很多人对串口通讯的概念也都比较模糊,但是串口通信在实际的应用中非常广泛,需要我们有比较深刻的理解。经过一段时间的学习,自认为对串口通信的概念有了比较清晰的认识,想在这里和大家分享一下,欢迎批评指正。 一、串口通信、串行通信和通用串行总线 串口通信、串行通信和通用串行总线是几个非常用易混淆的概念。 其中,通用串行总线是USB的全称,与串口通信关系不大,在这里不作详细介绍。 串行通信包括了异步通信和同步通信。同步通信受时钟信号控制,要求发送端和接收端的时钟信号频率保持一致(时钟同步),由发送端将数据组合起来一起发送,比如I2C和SPI的传输方式。而异步通信每次只发送一个字符的一个比特位,对时钟信号频率没有要求。显然,同步通讯的效率更高,但是稳定性较差,而异步通信虽然效率低,但是可以允许一定的误差。 串口通信是利用串口进行通信的方式,它是一种异步通信,即串口通信是串行通信的一种实现方式。 二、RS232、RS485是什么? 只要你接触到了串口通讯,一定都听说过RS232、RS485这些概念。大部分人刚遇到这些概念的时候应该都是一头雾水,百度搜索之后也未必能解决自己的困惑。我在进行FPGA通信开发时,最先使用的通信模块上包含了两个RS232模块和两个RS485模块,它们是什么意思,有什么区别? 也许你不理解232、485的含义,但是对TTL一定不会陌生。 TTL是用在数字逻辑电路中一种逻辑电平标准,根据电压值的范围来转换成逻辑的0和1,一般情况下,当电压值大于2.4V时,逻辑为1,电压值小于0.4V时,逻辑为0。 RS232和RS485也是一种电平标准,由于TTL抗干扰能力有局限性,在串口通信中广泛采用的是RS232和RS485等电平标准,他们都有各自的特点。 [tr]RS232RS485[/tr]
三、如何实现主从设备逻辑电平标准匹配 介绍完了逻辑电平标准,大家可以思考这样一个问题:为什么使用TTL标准的单片机可以实现RS232、RS485标准的串口通信? 这里以蓝桥杯单片机开发板为例,通过查看单片机开发板的原理图可知,USB发送的数据并不是直接传输给单片机进行处理的,而是经过了一个由CH340芯片构成的模块,具体电路连接如下图所示。 通过查阅CH340C芯片手册得知,CH340是一个USB的转接芯片,实现USB转串口(UART),USB转IrDA红外或者USB转打印口,这里显然用作USB转串口功能。USB传输线的逻辑信号进入CH340C芯片UD+、UD-后,由芯片输出TTL电平TXD、RXD分别与单片机引脚P30、P31相连,实现了USB/串口的通信。 同理,使用MAX3232和MAX3485等转接芯片,可以实现各种逻辑电平标准匹配。 串口的通信。 同理,使用MAX3232和MAX3485等转接芯片,可以实现各种逻辑电平标准匹配。 |
||
|
||
只有小组成员才能发言,加入小组>>
3311 浏览 9 评论
2994 浏览 16 评论
3493 浏览 1 评论
9058 浏览 16 评论
4087 浏览 18 评论
1176浏览 3评论
604浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
598浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2334浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1895浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 20:47 , Processed in 1.260768 second(s), Total 78, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号