1 Serial.begin()
2 Serial.end()
3 Serial.available()
4 Serial.read()
5 Serial.peek()
6 Serial.flush()
7 Serial.print()
8 Serial.println()
9 Serial.write()
10 Serial.serialEvent()

Serial.begin()

串口波特率定义函数。一般取值300, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, or 115200。

语法
Serial.begin(speed)

参数
speed: 速率,长整数型long

返回
None

例子
void setup() {
Serial.begin(9600); // opens serial port, sets data rate to 9600 bps
}

Serial.end()

禁止串口传输函数。此时串口传输的pin脚可以作为数字IO脚使用。

语法
Serial.end()

参数
None

返回
None

Serial.available()

判断串口接收缓冲器的状态函数。读取串口接收缓冲器的值(128字节寄存器),以判断数据送达到串口。

语法
Serial.available()

参数
None

返回
串口已经准备好的字节数

例子
int incomingByte = 0; // for incoming serial data

void setup()
{
Serial.begin(9600); // opens serial port, sets data rate to 9600 bps
}

void loop()
{
// send data only when you receive data:
if (Serial.available() > 0)
{
incomingByte = Serial.read(); // read the incoming byte:
Serial.print("I received: "); // say what you got:
Serial.println(incomingByte, DEC);
}
}

Serial.read()

读取串口函数。

语法
Serial.read()

参数
None

返回
串口的数据第一个字节,如果没有返回-1;整数类型int

Serial.peek()

串口读取函数。返回的是串口数据中下一字节的内容。

语法
Serial.peek()

参数
None

返回
串口数据中下一个字节内容,如果没有返回-1;整数类型int

Serial.flush()

清除串口缓冲器内容函数。

语法
Serial.flush()

参数
None

返回
None

Serial.print()

串口输出数据函数。

语法
Serial.print(val)
Serial.print(val,format)

参数
val: 打印的值,任意数据类型
format: 输出的数据格式,包括整数类型和浮点型数据的小数点位数。

返回
字节

例子
Serial.print(78, BIN) 得到 "1001110"
Serial.print(78, OCT) 得到 "116"
Serial.print(78, DEC) 得到 "78"
Serial.print(78, HEX) 得到 "4E"
Serial.print(1.23456, 0) 得到 "1"
Serial.print(1.23456, 2) 得到 "1.23"
Serial.print(1.23456, 4) 得到 "1.2346"
Serial.print('N') 得到 "N"
Serial.print("Hello world.") 得到 "Hello world."

Serial.println()

串口输出数据函数。与Serial.print()不同的是输出数据带回车符。

语法
Serial.println(val)
Serial.println(val,format)

参数
val: 打印的值,任意数据类型
format: 输出的数据格式,包括整数类型和浮点型数据的小数点位数。

返回
字节

Serial.write()

串口输出数据函数。写二进制数据到串口。

语法
Serial.write(val)
Serial.write(str)
Serial.write(buf, len)

参数
val: 字节
str: 一串字节
buf: 字节数组
len: buf的长度

返回
字节

例子
void setup()
{
Serial.begin(9600);
}

void loop()
{
Serial.write(45); // send a byte with the value 45
int bytesSent = Serial.write(“hello”);
//send the string “hello” and return the length of the string.
}

Serial.serialEvent()

串口数据准备好调用该函数。

语法
Serial.serialEvent{//statements}

参数
statements: 任何有效的语句。

Arduino Serial库的使用的更多相关文章

  1. Arduino线程库ProtoThreads

    参考: Arduino线程库ProtoThreads 一个“蝇量级” C 语言协程库

  2. Arduino 开源库 u8glib2 之 图标显示【原创】

    Arduino 开源库 u8glib2 研究之 图标显示                -----------------关于drawXBM drawXBMP函数使用的研究 因为心血来潮,近来想做一个 ...

  3. ROS常用库(二) Serial库(单片机和上位机串口通讯)

    比如我们做了个单片机,在win里面用串口调试助手接收和下发数据,那么在ubuntu里用ros怎么实现?换个说法,怎么实现上位机和下位机的通讯? 首先,用python自带的库就可以实现这个功能. 安装p ...

  4. Arduino 封装库

    这里是一个在Arduino平台下将常用的代码以库的形式封装的示例. 第一步:在Arduino的安装目录下的对应目录建立文件夹 C:\Program Files (x86)\Arduino\librar ...

  5. 深入学习 Arduino LinkedList库(一个变长的集合类数组)

    QQ技术互动交流群:ESP8266&32 物联网开发 群号622368884,不喜勿喷 单片机菜鸟博哥CSDN 1.前言 博主是做Android App开发出身的,所以对Java这门语言算是有 ...

  6. Arduino 串口通讯参考笔记 - Serial 类库及相关函数介绍

    声明: 本ID发布的所有文章及随笔均为原创,可随意转载,单转载文章必须注明作者 aiyauto 及包含原文出处地址 http://www.cnblogs.com/aiyauto/p/7071712.h ...

  7. arduino中SCoop库的简单应用案例

    转载:https://www.csdn.net/gather_27/MtTaggzsMDExMS1ibG9n.html arduino中SCoop库的简单应用案例首先这篇文章来在视频https://v ...

  8. 【技术】Arduino PID自整定库

    最近看到了Brett Beauregard发表的有关PID的系列文章,感觉对于理解PID算法很有帮助,于是将系列文章翻译过来!在自我提高的过程中,也希望对同道中人有所帮助.作者Brett Beaure ...

  9. Arduino库和STM32的寄存器、标准库、HAL库、LL库开发比较之GPIO

    标题: Arduino库和STM32的寄存器.标准库.HAL库.LL库开发比较之GPIO 作者: 梦幻之心星 sky-seeker@qq.com 标签: [#Arduino,#STM32,#库,#开发 ...

随机推荐

  1. 利用Pelican搭建个人博客

    博客基于win7系统,python2.7和pelican. 1.安装工具 安装virtualenv pip install virtualenv 下载make,或者make移动至任一目录,并将路径写入 ...

  2. 【.Net】关于内存缓存的一点记录

    引言 最近看了内存缓存的一些介绍和用法,在此做个简单记录. MemoryCache 类 MemoryCache 类是.Net 4.0推出的类库,主要是为了方便在Winform和Wpf中构建缓存框架的. ...

  3. poj-1426-Find The Multiple(打表水过)

    思路: 2的最近可以整除的数是10 所以,很关键的一点,只要是偶数,例如: 6:2*3,可以拆分为能够被2整除和能够被3整除的乘积,所以,10*111=1110 144:72*2,8*9*2,2*2* ...

  4. 分析 PHP升级导致系统负载过高问题(转载)

    原文:http://chuansongme.com/n/797172 背景 据XX部门兄弟反应, 其在将PHP从5.3.8 升级到5.5.13 时, 开始运行正常, 运行一段时间后, 系统负载变高,达 ...

  5. BZOJ5118:Fib数列2(O1快速模)

    题意:输入N,输出fib(2^N)%1125899839733759.(P=1125899839733759是素数) 思路:欧拉降幂,因为可以表示为矩阵乘法,2^N在幂的位置,矩阵乘法也可以降幂,所以 ...

  6. webpack 插件

    插件可以完成更多 loader 不能完成的功能. 插件的使用一般是在 webpack 的配置信息 plugins 选项中指定. Webpack 本身内置了一些常用的插件,还可以通过 npm 安装第三方 ...

  7. MongoDB数据库的备份和恢复

    MongoDB数据库备份方式: 1.整库备份 2.单表备份 1.整库备份 备份整个数据库: mongodump -h 127.0.0.1:27000 -d park --authenticationD ...

  8. hihoCoder#1121(二分图判定)

    时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 大家好,我是小Hi和小Ho的小伙伴Nettle,从这个星期开始由我来完成我们的Weekly. 新年回家,又到了一年一度大龄 ...

  9. [转载]python datetime处理时间

    Python提供了多个内置模块用于操作日期时间,像calendar,time,datetime.time模块我在之前的文章已经有所介绍,它提供 的接口与C标准库time.h基本一致.相比于time模块 ...

  10. 一个WCF使用TCP协议进行通协的例子

    在解决方案资源管理器中,需要添加两个引用:System.ServiceModel和WCFService.然后双击窗口,在Form_Load事件中编写如下代码: 添加一个应用程序配置文件App.Conf ...