Arduino-串口通信

Posted 第六感作怪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Arduino-串口通信相关的知识,希望对你有一定的参考价值。

技术分享

Arduino与计算机通信所使用的USB接口就是下载程序时所用的USB接口,当Arduino与其他设备通信时,需要用到“Serial”系列函数,所以我们要对其有所了解,下面介绍几个常“Serial”函数。

1、Serial.begin()—设置串行每秒传输数据的速率(波特率)。在同计算机通讯时,使用下面这些值:300, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600或 115200。你也可以在任何时候使用其它的值,比如,与0号或1号接口通信就要求特殊的波特率。

2、Serial.print()—从串行端口输出数据。

3、Serial.println()—从串行端口输出数据,跟随一个回车(ASCII 13, 或 ‘\r‘)和一个换行符(ASCII 10, 或 ‘\n‘)。这个函数所取得的值与Serial.print()一样。

4、Serial.read()—读取持续输入的数据。

注意观察Arduino板子上的TX/RX指示灯

技术分享

TX(T:Transmitter 发送)表示为Arduino发送指令信息给计算机,RX(R:Receive 接收)表示为Arduino接收来自计算机的指令信息,当下载程序或与计算机通信时,这两个指示灯就会闪烁

下面我来用实例说明一下,我们就来编写一个简单的小程序让计算机显示字符串“Hello World”。并且让一个LED配合一下,小灯闪烁一下就显示一条“Hello World”这样循环进行。

程序如下

技术分享

注意观察TXRX指示灯和pin13口LED的闪烁情况!

 

那么再来编写一个用计算机给Arduino发送指令的小程序吧,当我们发送"a",LED就会闪烁一下。这是因为我将a赋值给val,Arduino接收到来自计算机的信号后,运行到Serial.read()指令就会将读取的数值赋值给val,经if语句进行判断,如果为真将执行if{ }内指令,所以LED点亮一会就会熄灭,这样应该明白了吧。

技术分享

输入a再看看pin13接口的LED吧!

以上是关于Arduino-串口通信的主要内容,如果未能解决你的问题,请参考以下文章

Arduino和C51之串口通信

arduino 软串口

Arduino nano pc 串口通信

arduino 读取串口数值 ~

Arduino中的串口通信!!Serial.print()是否带有打印的功能??

Arduino-串口函数Serial