【Arduino官方教程第一辑】示例程序 4-10 串口事件
来源:互联网 发布:网络电子备课系统 编辑:程序博客网 时间:2024/06/14 20:58
串口事件
本例向你展示SerialEvent()函数的使用。本函数将在loop()中自动被内部调用。
在我们写的代码中如果串口有任何数据(只要不是换行符),那么就将数据加到一个缓存字符串中。在收到换行符时就返回缓存字符串。发送后将会将字符串清空为null。
完成本例所需的硬件设备
- Arduino板或Genuino板
- 连接线
电路连接
不需要额外电路,但是板子必须连接电脑,Arduino IDE的串口监视器也需要被打开。
/* 串口事件 当新的串口数据到来时,我们会将它添加到一个缓存字符串中。当收到换行符时就将缓存字符串 输出到串口监视器并将字符串清空。 本例程的最好测试方式是使用不断发送NMEA 0183语句的GPS接收器模块 代码公开。 */String inputString = ""; // 缓存字符串boolean stringComplete = false; // 是否string已经完成缓存void setup() { // 初始化串口: Serial.begin(9600); // 将inputString反转200个字符: inputString.reserve(200);}void loop() { // 如果缓存string接收完成: if (stringComplete) { Serial.println(inputString); // 清空String: inputString = ""; stringComplete = false; }}/* SerialEvent在arduino板上的RX引脚收到数据时会被系统自动调用。在系统内部,它是在每次loop函数执行时连带执行的。因此如果再loop使用delay,serialEvent的调用也会被延迟,这样就有可能一次收到>=2个字符。 */void serialEvent() { while (Serial.available()) { // 获取新的字符: char inChar = (char)Serial.read(); // 将它加到inputString中: inputString += inChar; // 如果收到了换行符,就将一个“旗标”变量设置为true,这样loop函数就知道inputString已经缓存完成了: if (inChar == '\n') { stringComplete = true; } }}
相关资料
SerialEvent()
ASCIl表:展示Arduino先进的串口输出函数。
调光器:轻点鼠标来改变LED的亮度。
数据图表:发送数据到电脑,并且使用Processing来绘图。
MIDI音乐: 以串口发送MIDI音符。
多串口[Mega]:使用Arduino Mega上的两个串口。
原来标题译为MIDI音乐MEGA,是错译
控制LED:从Processing或Max/MSP来开关LED.
读取ASCII字符串:解析一串用逗号分隔的整数(以字符串类型传递)来让LED渐隐。
串口双向调用:用双向调用/握手连接(handshaking)的方法发送多个变量值。
串口双向调用(使用ASCII码):用双向调用/握手连接(handshaking)的方法发送多个变量值,并且在转发之前将这些变量的值通过ASCII解码。
串口事件:展示SerialEvent()函数的使用。
虚拟调色盘:用Arduino发送多个变量的值到电脑,然后用Processing或Max/MSP读取它们
原文链接
更新进程
日期 日志 译者 2016年05月19日 创建并翻译文档 唐家勋
译者:唐家勋
邮箱:mrsteventang@gmail.com
QQ:649196486
转载请注明出处,一切只因为热爱。
希望您能指出宝贵意见,谢谢。
- 【Arduino官方教程第一辑】示例程序 4-10 串口事件
- 【Arduino官方教程第一辑】示例程序 4-5 多串口[Mega]
- 【Arduino官方教程第一辑】示例程序 4-6 串口控制LED
- 【Arduino官方教程第一辑】示例程序 4-8 串口双向调用 (握手连接)
- 【Arduino官方教程第一辑】示例程序 4-9 串口双向调用(使用ASCII字符串)
- 【Arduino官方教程第一辑】示例程序 4-2 调光器
- 【Arduino官方教程第一辑】示例程序 1-1 读取模拟信号、串口操作
- 【Arduino官方教程第一辑】示例程序 3-1 模拟信号与串口
- 【Arduino官方教程第一辑】示例程序-目录
- 【Arduino官方教程第一辑】示例程序 2-2 按键
- 【Arduino官方教程第一辑】示例程序 5-1 数组
- 【Arduino官方教程第一辑】示例程序 4-4 MIDI音乐
- 【Arduino官方教程第一辑】示例程序 1-4 读取数字引脚
- 【Arduino官方教程第一辑】示例程序 2-4 数字引脚上拉电阻
- 【Arduino官方教程第一辑】示例程序 4-1 ASCIl表
- 【Arduino官方教程第一辑】示例程序 4-3 数据图表
- 【Arduino官方教程第一辑】示例程序 4-7 读取ASCII字符串
- 【Arduino官方教程第一辑】示例程序 4-11 虚拟调色盘
- RxAndroid深入浅出——lambda
- hdu2460Network【双连通分量求桥 在线求lca】
- rapidxml标识符 memory
- 【Arduino官方教程第一辑】示例程序 4-9 串口双向调用(使用ASCII字符串)
- MySQL学习12:修改数据表(二)
- 【Arduino官方教程第一辑】示例程序 4-10 串口事件
- unity 手指移动物体旋转两个手指控制物体大小缩放
- java stack的详细实现分析
- Android Studio Gradle版本
- Linux inotify监听文件变化机制
- 【Arduino官方教程第一辑】示例程序 4-11 虚拟调色盘
- Uva 674
- 最大值最小化
- Java 输入输出操作