智能小车四《串口通信》

本文详细介绍了Arduino中的串口通信原理及其应用。包括串口硬件如何通过电脉冲传输数据,以及如何使用串口监视器和第三方软件进行数据交换。此外,还探讨了串口通信协议的重要性,并提供了一些实用的编程技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为什么串字是这么写,可能它是个象形字。



在arduino中,串口与这个意思比较相近,他只需要一条线。比如下图我就是从一个板子的串口发送到另一个板子,只用一根线,把它两给串起来,数据就通过这条线传输。



串口通信涉及到硬件与软件。串口硬件的发送和接收表示序列位的电脉冲数据。每个字节信息由各种组合的"0"和"1"构成。arduino所用的方案是0v表示比特值0,而5v(或3.3v)来表示比特值1.
我们在电脑上要发送数据到arduino也是通过串口,一处是串口监视器,一处是代码里的Serial.print.当然其它软件也可以能通过串协议发。比如SecureCRT.exe ,如下图。



 另外串口还可输出到processing,如下图:



串口打印(Serail.print)信息不能拼接字符串或变量,这是个很大的缺陷,可以用springf来实现,如:
 char co[100]="";
  int n=10;
 sprintf(co,"ddfdf%d",n);   

最后说一下串口通信协议,上面的代码串口的通信只是一个简单的Serail.print,这显然是有问题的。因为串口通信协议本来也有一些字符,如果发送的内容与协议内容有重合,就会出问题了。
硬件或软件串口库处理信息的发送和接收,信息里通常包括需要一起发送的数据。为了正确的解释信息,在接收侧需要识别每个消息的开始与结束。如果发送方与接收方都知道信息是如何组织的,
有意义的串口通信或任何类型的机器对机器的通信才能实现。这个消息里的信息正规的组织方式和对请求作出适当反应的规定就是通信协议。
 
消息可以包含标识消息的开始的一个或多个特殊字符,称为报头。一个或多个字符也可用于识别消息的结尾,称为报尾。比如最常用的tcp/ip协议,关于这个协议的分析可查看我的另一文章《Tcp协议数据结构完全解析》http://www.highersoft.net/html/notice/notice_269.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值