Arduino串口的使用

   串口是Arduino与其它设备进行通信的接口,我们需要很好的掌握它的使用。Arduino串口使用相关的函数共有10(随着版本的升级,新版本加入了更多,具体请参见官网:http://www.arduino.cc/)

Serial.begin(); //开启串口

Serial.end();    //关闭串口

Serial.available();//判断串口缓冲器是否有数据装入

Serial.read();    //读取串口数据

Serial.peek();    //返回下一字节(字符)输入数据,但不删除它

Serial.flush();    //清空串口缓存

Serial.print();    //写入字符串数据到串口

Serial.println();   //写入字符串数据+换行到串口

Serial.write();     //写入二进制数据到串口

Serial.SerialEvent();//read时触发的事件函数

Serial.readBytes(buffer,length);//读取固定长度的二进制流

例子1

[plain]  view plain  copy
 print ?
  1. int val;//定义变量val  
  2. int ledpin=13;//定义数字接口13  
  3.   
  4. void setup()  
  5. {  
  6.   Serial.begin(9600);//设置波特率为9600,这里要跟软件设置相一致。当接入特定设备(如:蓝牙)时,
  7. 我们也要跟其他设备的波特率达到一致。  
  8.   pinMode(ledpin,OUTPUT);//设置数字13 口为输出接口,Arduino 上我们用到的I/O 口都要
  9. 进行类似这样的定义。  
  10. }  
  11.   
  12. void loop()  
  13. {  
  14.   val=Serial.read();//读取PC 机发送给Arduino 的指令或字符,并将该指令或字符赋给val  
  15.   if(val=='R')//判断接收到的指令或字符是否是“R”。  
  16.   {//如果接收到的是“R”字符  
  17.     digitalWrite(ledpin,HIGH);//点亮数字13 口LED。  
  18.     delay(500);  
  19.     digitalWrite(ledpin,LOW);//熄灭数字13 口LED  
  20.     delay(500);  
  21.     Serial.println("Hello World!");//显示“Hello World!”字符串  
  22.   }  

运行结果如下图所示:


例子2

[plain]  view plain  copy
 print ?
  1. int incomingByte =  0;  
  2. void setup()  
  3. {  
  4.   Serial.begin(9600);  
  5. }  
  6. void loop()  
  7. {  
  8.   if(Serial.available() >0 )  
  9.   {  
  10.     incomingByte = Serial.read();  
  11.     Serial.print("I received: ");  
  12.     Serial.println(incomingByte,DEC);  
  13.   }  
  14. }  

运行结果如下所示:


Serial.println(incomingByte, DEC);打印接到数据十进制表示的ascii码。

peek():功能类似于read(),但是我们知道当调用一次read()后,缓冲区的数据流会被读取并删除read过的数据,也就是available值会减少,但peek()不会出现类似情况,其功能类似于检测缓冲区的头部数据,反复调用peek()返回的值是一样的。用得好的话可以精简很多代码。

write():写入二进制数据到串行端口。这个数据是作为一个字节或字节序列发送的。如果发送字符串则需要用到print方法。

    最后注意一下:当烧程序入板卡的时候,在完成前即LTXRX灯闪烁前,断开数据线很可能损坏硬件。同时测试前养成按一次reset键复位的习惯,这里特别注意,在打开串口监视器后,需要reset一次,否则无法看到效果。

  • 7
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值