有用的链接在这里:http://hi.baidu.com/mizuda/item/06b7fdc1d0e45a0ec710b2dd

更加详细的内容请查阅Arduino官方:http://arduino.cc/en/Serial/Write

代码如下:

/*
*SendBinary sketch
*Send a header followed by two random integer values as binary data.
*/
int intValue; // an short integer value (16 bits = 2bytes) intvalue must be less than 0xffff(65535 = 255*256+255)
void setup(){
Serial.begin();
}
void loop(){
Serial.print('H'); //send a header character
intValue = random(); //generate a random number between 0 and 590
Serial.write(lowByte(intValue)); //send the low byte
Serial.write(highByte(intValue)); //send the high byte // send another random integer
intValue = random(); // generate a random number between 0 and 599
// send the two bytes that comprise an integer
Serial.write(lowByte(intValue)); // send the low byte
Serial.write(highByte(intValue)); // send the high byte
//发送单字节很简单,使用Serial.write(byteVal);
//发送整数,需发低字节 和高字节来组成整数,value= high*256+low delay();
}

通过上面,我们可以看到

每次发送的都是头为H的二进制内容。

正如上面注释缩写,发送低位字节,发送高位字节。

//发送单字节很简单,使用Serial.write(byteVal);
//发送整数,需发低字节 和高字节来组成整数,value= high*256+low

二进制是一些简单的内容。这些二进制文件也许是遵循一定规律的文档。在上位机上,我们可以编写软件来从串口获得这些来自下位机的二进制文件。通过分析矫正位,头文件等可以从中提取到单片机想传来的有用的信息。这些信息是经过一定协议的。用起来会比较简单。

我们可以看到上图中有些内容可以显示出来,而有些却不能,这是因为不是任何二进制内容都可以翻译成明文表的。ASCII表就那点,符号也不够分配的。

Arduino 串口篇 Arduino发送二进制 send binary via RS232-to-USB to PC的更多相关文章

  1. Arduino 串口篇 Arduino发送十六进制 send HEX via serial port RS232-to-USB to PC

    发送十六进制比较直观,可以在上位机中直接获取十六进制的数据,然后在在上位机上将十六进制HEX转换成BIN(二进制)或者DEC(十进制)就十分简单有效了. 下面是在Arduino上怎么演示直接发送16进 ...

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

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

  3. Arduino - 串口操作函数与示例代码大全

    来源:https://blog.csdn.net/iracer/article/details/50334041 Arduino - 串口操作函数与示例代码大全 本文总结了Arduino常用串口操作函 ...

  4. Arduino串口的一些高级用法

    1.配置串口通信数据位.校验位.停止位通常我们使用Serial.begin(speed)来完成串口的初始化,这种方式,只能配置串口的波特率.而使用Serial.begin(speed, config) ...

  5. Arduino 串口的一些高级用法

    来源: 1.配置串口通信数据位.校验位.停止位 通常我们使用Serial.begin(speed)来完成串口的初始化,这种方式,只能配置串口的波特率. 而使用Serial.begin(speed, c ...

  6. win10上使用php与python实现与arduino串口通信

    注意: php 需要php7,安装及开启php_dio.dll com口按照实际的进行设置,如果不知道可以打开arduino编辑器进行查看 可以与用户实现命令行交互,但是效率过慢,不清楚如何优化,使用 ...

  7. 【Arduino】、Arduino+ESP8266上传至oneNet云

    一.硬件简介 1. Arudino 是一种开源的电子平台,该平台最初主要基于AVR单片机的微控制器和相应的开发软件,包含硬件(各种型号的Arduino板)和软件(Arduino IDE). 2. ES ...

  8. Asp.net Core中SignalR Core预览版的一些新特性前瞻,附源码(消息订阅与发送二进制数据)

    目录 SignalR系列目录(注意,是ASP.NET的目录.不是Core的) 前言 一晃一个月又过去了,上个月有个比较大的项目要验收上线.所以忙的脚不沾地.现在终于可以忙里偷闲,写一篇关于Signal ...

  9. [ActionScript 3.0] AS利用ByteArray向PHP发送二进制数据生成图片

    flash as3向php发送二进制数据,通过php保存成图片. AS端: package { import com.JPEGEncoder.JPGEncoder; import flash.disp ...

随机推荐

  1. The Swift Programming Language-官方教程精译Swift(8)闭包 -- Closures

    闭包是功能性自包含模块,可以在代码中被传递和使用. Swift 中的闭包与 C 和 Objective-C中的 blocks 以及其他一些编程语言中的 lambdas 比较相似. 闭包可以捕获和存储其 ...

  2. ECLIPSE实现了界面显示所有类

    按下接口名称CTRL+T实现全面实施的接口类显示 版权声明:本文博客原创文章,博客,未经同意,不得转载.

  3. 萧墙HTML5手机发展之路(51)——jquerymobile在提高页面访问速度

    正在使用jQuery Mobile开发时间可以选择单页模板和多页模板,在单页模板时从一个页面跳转到另一个页面时从需要server要求.用户会感到轻微的停顿. 使用多页模板,为了改善网页之间跳跃的流畅, ...

  4. UiAutomator源码分析之获取控件信息

    根据上一篇文章<UiAutomator源码分析之注入事件>开始时提到的计划,这一篇文章我们要分析的是第二点: 如何获取控件信息 我们在测试脚本中初始化一个UiObject的时候通常是像以下 ...

  5. POJ 1201 &amp;&amp; HDU 1384 Intervals(差动制动系统)

    职务地址:POJ 1201   HDU 1384 依据题目意思.能够列出不等式例如以下: Sj-Si>=c; Si-S(i-1)>=0; S(i-1)-Si>=-1; 然后用最短路s ...

  6. linux通过建模工具Umbrello

    https://umbrello.kde.org/ Umbrello UML Modeller is a Unified Modelling Language (UML) diagram progra ...

  7. 【PLSQL】过程procedure形参和参数

    ************************************************************************   ****原文:blog.csdn.net/clar ...

  8. Function.prototype.toString

    语法:fn.toString(indentation) 改方法返回当前函数源代码的字符串,而且还可对此字符串进行操作,比如: function num(){ }; var str = num.toSt ...

  9. jquery扩展方法案例

    -----------------扩展方法: $.extend({ "max": function (a, b) { if (a > b) return a; }, &quo ...

  10. java 权限 部分截图

    下载地址:http://download.csdn.net/detail/heyehuang/5857263