zoukankan      html  css  js  c++  java
  • Arduino通信篇系列之print()和write()输出方式的差异

    我们都知道,在HardwareSerial类中有print()和write()两种输出方式,

    两个都可以输出数据,但其输出方式并不相同。

    例子:

    float FLOAT=1.23456;

    int INT=124;

    byte BYTE[6]={48,49,50,51,52,53};

    void setup()

    {

    Serial.begin(9600);

    Serial.println(INT);

    Serial.println(INT,HEX);

    Serial.println(FLOAT);

    Serial.println(FLOAT,2);

    Serial.write(INT);

    Serial.println();

    Serial.write("Serial");

    Serial.println();

    Serial.write(BYTE,6);

    }

    void loop

    {

    }

    结果:

    123

    1111011

    1.23

    1.23

    {

    Serial

    012345

    比较:

    当使用print()发送一个数据时,Arduino发送的并不是数据本身,而是

    将数据转换成字符,再将对应的ASCLL码发送出去,串口监视器接收到

    ASCLL码,则会显示对应的字符。因此,使用print()函数是以ASCLL

    码的形式输出数据到串口。

    而当使用write()函数时,Arduino发送的是数值本身。但是串口监视器接收

    到数据后,会将数值当做ASCLL码而显示其对应的字符。

    总而言之,print是转换成ASCLL码才能发出去,就相当于中间介质。

    而write是直接发送数据,不需要中间介质。

  • 相关阅读:
    添加linux alias
    vs2019 switch语句快捷键列出枚举 及常用快捷键
    generic 泛型使用
    华为云 安装centos8.2
    linux 安装redis,mysql,netcore
    react按需加载
    工具类注册基本写法
    vue项目使用深拷贝
    react+less+antd 复习搭建(一)
    python 1 cmd进入工作
  • 原文地址:https://www.cnblogs.com/fqhy/p/7966169.html
Copyright © 2011-2022 走看看