智能小车四《串口通信》
发布日期:2021-10-03 12:40:20 浏览次数:7 分类:技术文章

本文共 822 字,大约阅读时间需要 2 分钟。

为什么串字是这么写,可能它是个象形字。
在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

转载地址:https://blog.csdn.net/koolfret/article/details/77049869 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:智能小车五《电机芯片》
下一篇:智能小车三《技术用到九寨沟去》

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2024年04月17日 15时37分38秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章