Arduino 串口通讯

来源:互联网 发布:淘宝pc转换无线连接 编辑:程序博客网 时间:2024/05/18 03:12

    转自 http://blog.sina.com.cn/s/blog_624e2b450100l7p8.html

    今天我们一起来学习Arduino的串口通讯。

    Arduino与计算机通信所使用的USB接口就是下载程序时所用的USB接口,同时Arduino USB串口线也可作为Arduino供电线。当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/TR LED吧!

 

Arduino <wbr>串口通讯

 

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

       这里要特别提醒Arduino新手一点的是:我们在下载程序或是做串口通讯实验时一定不能在没有一定要等TX/TR LED不再闪烁时再拔掉USB线,否则会给损坏你的Arduino芯片,我深受其害Arduino <wbr>串口通讯Arduino <wbr>串口通讯。接下来我们就DIYRobot为我们提供的Arduino 168P 基础套件互动媒体 做两个串口通讯的实验。

实验一 Arduino串口助手显示

本实验中我们让Arduino在串口助手中循环显示:

“Welcome to http://electrondiy.taobao.com/注意了串口助手里只能显示英文字符和数字,不能显示汉字。Arduino <wbr>串口通讯

程序如下图:

Arduino <wbr>串口通讯

注意了:我们在程序写的波特率9600和串口调试助手中右下角的波特率9600要一致的否则无法通讯。

 

实验二 Arduino与串口通讯——人机对话

 

     那么再来编写一个用计算机给Arduino发送指令的小程序吧!Arduino <wbr>串口通讯当我们发送字符"a",Arduino串口助手中就会显示“OK GOOD Job”。这是因为我将a赋值给val,Arduino接收到来自计算机的信号后,运行到Serial.read()指令就会将读取的数值赋值给val,经if语句进行判断,如果经判断为真将执行if{}内指令,所以串口助手就会显示:“OK GOOD Job”。原理就是这么简单!Arduino <wbr>串口通讯

程序如下图:

Arduino <wbr>串口通讯不要忘了看看Tx与Rx指示灯的闪烁情况。

0 0