Arduino-串口函数Serial

串口是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);//读取固定长度的二进制流

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

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

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

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

时间: 2024-08-26 08:23:16

Arduino-串口函数Serial的相关文章

ASCIITable: 演示 Arduino 串口输出的进阶功能

原文地址 - https://www.arduino.cc/en/Tutorial/ASCIITable ASCII字符表 本例展示了高级的串口打印功能,通过本功能可以在Arduino软件(IDE)的串口监视器上生成一个字符和ASCII值的对应表,值分别用十进制.十六进制.八进制和二进制显示.想了解更多关于ASCII字符的信息,请参看asciitable.com. 硬件需求 Arduino 或 Genuino 开发板 电路 无,但是开发板必须通过串口或者USB口连接到电脑. 代码 程序在setu

Arduino 常用函数参考文档

封装好的API,使得程序中的语句更容易被理解,我们不用理会单片机中繁杂的寄存器配置,就能直观的控制Arduino,增强程序可读性的同时,也提高了开发效率. 本篇主要介绍: 一,项目结构 1.setup 2.loop 3.main 二,数字输入输出 1.pinMode ( pin , mode ) 2.digitalWrite ( pin , value ) 3.digitalRead ( pin ) 三,模拟输入输出 1.analogRead 2.analogWrite 四,模拟输入输出 1.t

修改Arduino串口缓冲区大小(转)

本帖节选自<Arduino程序设计基础>第二版 5.1.6串口缓冲区 在之前的示例程序中,我们都是采用人工输入测试数据的方式检验程序效果,Arduino每接收到一次数据,就会将数据放入到串口缓冲区中.       但是,当我们使用其他串口设备或者传输的数据量逐步增加后,你可能会发现写入的数据会有一些丢失,这是因为Arduino默认设定了串口缓冲区为64字节,当其中数据超过64字节后,Arduino会将之后接收到的数据丢弃.              我们可以通过宏定义的方式来增大串口读写缓冲区

Android 操作串口 (android serial port api)

前几天公司有通过搭载Android系统的开发板来使用打卡机统计数据的需求,对于攻城狮来说就需要在Android平台上读写打卡机的串口,在网上搜索一些东西之后发现了在google code 上的android serial port api可以用,墙了之后拿到源码发现还有demo,不错不错,我这个帖子就通过serial port api的源码简单得实现一个读写串口,这个当然是在native写的,如果还有哪些童鞋不清楚android上使用jni和native的话可以跳转到我的上篇帖子 点我点我 在A

Arduino 串口输出LM35温度

#include "stdlib.h" float temp = 0.0; float maxtemp = 0.0; float mintemp =100.0; // the setup routine runs once when you press reset: void setup() { Serial.begin(9600); Serial.println(F("reading temperature begin. \n")); } // the loop

关于arduino清空串口缓存(转)

在arduino1.0之前的版本 Serial.flush()的作用是是清空串口缓存( dropping received incoming data).但在1.0之后的版本 Serial.flush()的作用调整为了等待串口数据传送完毕(Waits for the transmission of outgoing serial data to complete.)(引用自http://arduino.cc/en/Serial/Flush). 因为我在使用wifibee的过程中,如果既想用Ser

Arduino和C51之串口通信

技术:51单片机.Arduino.串口通信 概述 本文主要讲解串口通信技术的使用方法,并通过串口点灯实验介绍了51单片机和Arduino串口的使用,为初学者学习串口知识提供帮助 详细 代码下载:http://www.demodashi.com/demo/14691.html 一.串口通信 串口通信(Serial CommunicaTIons)的概念非常简单,串口按位(bit)发送和接收字节.串口用于ASCII码字符的传输,通信使用3根线完成,分别是地线.发送线.接收线.由于串口通信是异步的,端口

arduino的自带延时函数的陷阱

新手刚接触arduino,在今天玩温湿度传感器(AM2302)时,发现网上的程序中有一个名为micros()的函数不知是干什么用的,然后就在网上搜了搜: micros()是一个用了arduino的中断timer0写的函数,用于计算时间和,同时arduino的函数库中用了中断的函数还有delay().delayMicroseconds.millis()等等 . 那么问题来了,假设我们在做项目的时候,要用到定时器timer0相关的函数,但同时又要定时接收外来信号,那么必然要使用更多中断.这时就要小心

Arduino蓝牙模块实现通信

蓝牙参数特点 1.蓝牙核心模块使用HC-06从模块,引出接口包括VCC,GND,TXD,RXD,预留LED状态输出脚,单片机可通过该脚状态判断蓝牙是否已经连接 2.led指示蓝牙连接状态,闪烁表示没有蓝牙连接,常亮表示蓝牙已连接并打开了端口 3.输入电压3.6~6V,未配对时电流约30mA,配对后约10mA,输入电压禁止超过7V! 4.可以直接连接各种单片机(51,AVR,PIC,ARM,MSP430等),5V单片机也可直接连接 5.在未建立蓝牙连接时支持通过AT指令设置波特率.名称.配对密码,