Arduino串口通信——硬串口-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 18284|回复: 7

Arduino串口通信——硬串口

[复制链接]
发表于 2018-10-7 15:33 | 显示全部楼层 |阅读模式
为了便于后期问题的解决,在此我们梳理一下Arduino的硬串口(HardwareSerial)与软串口(SoftwareSerial)之前的区别与联系,以及在使用过程中应该注意的问题。
1.PNG

以常见的Arduino UNO为例,面板上只有一组串行端口,即引脚 0(RX)和1(TX)。 电脑与Arduino的通信即通过这两个端口进行,USB口通过一个转换芯片(通常为ATmega16 u2)与这两个串口引脚连接,虽然表面上电脑没有直接用外置的电线与这两个引脚相连,但是二者之间的效果是一样的。当Arduino控制器使用USB线与计算机相连时,两者之间便建立了串口连接。通过此连接,Arduino控制器可与计算机相互传数据了。

通常一个串口只能连接一个设备进行通信(划重点)。

为了让读者理解的更加深刻,在此以曾经犯过的一个错误为例:

2.PNG

项目是通过Arduino+ESP8266实现联网传输数据的功能,为了提高性能我选择了ESP8266通信端口与Arduino的硬串口相连接。程序编译没有错误,但是在上传的过程中总是报错,而这个错误就是因为我的串口同时和两个设备相连接导致的。

3.PNG

相信聪明的读者,肯定不会犯这种幼稚错误的,在此博君一笑。

2018/7/4




发表于 2019-8-1 18:28 | 显示全部楼层
6666666666
发表于 2020-2-11 17:44 | 显示全部楼层
学习了,谢谢作者
发表于 2021-8-21 08:01 | 显示全部楼层
楼主好!我最近在学习串口方面的知识,对于帖子中的内容我有一个问题还望楼主赐教。我尝试了一下先断开其余设备和rx、tx引脚(0、1)的连接,将arduino通过usb和PC连接下载程序,当程序烧录完成后断开USB,使用另外的电源供电,再将rx、tx引脚接上其它模块如文中的esp8266,则此时rx,tx端口是只与模块通信吧不知道可不可以,还是说这个硬串口只能用来和PC通信。望楼主赏光赐教。
发表于 2022-1-14 16:01 | 显示全部楼层
星际小辉辉 发表于 2021-8-21 08:01
楼主好!我最近在学习串口方面的知识,对于帖子中的内容我有一个问题还望楼主赐教。我尝试了一下先断开其余 ...

这样没问题我就这么干过
发表于 2022-2-17 13:48 | 显示全部楼层
xuyifa 发表于 2022-1-14 16:01
这样没问题我就这么干过

你好,想问下只要usb供电就算占用着tx和rx,没法再用这俩口接别的?比如我用充电宝的usb给板子供电,不是电脑usb口连着?
发表于 2022-2-17 13:59 | 显示全部楼层
星际小辉辉 发表于 2021-8-21 08:01
楼主好!我最近在学习串口方面的知识,对于帖子中的内容我有一个问题还望楼主赐教。我尝试了一下先断开其余 ...

哥们,解决了吗?我现在也有这样的疑问,想esp32和esp8266串口相连工作,不知道该怎么选?
发表于 2022-5-4 19:52 | 显示全部楼层
xuyifa 发表于 2022-1-14 16:01
这样没问题我就这么干过

我想问,uno采集传感器数据通过串口通信上传至esp8266,esp再上传至点灯科技blinker,app显示烟雾浓度、火焰、有人入侵情况。那我把uno的0(RX)、1(TX)和esp18(TX)19(RX)相连,这样可以实际可以数据通信以及正常代码烧录吗?我连线图就是和你上面的一样,那怎么改呀
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 09:25 , Processed in 0.082741 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表