Arduino学习笔记之使用浮点数

 时间:2026-02-11 23:27:26

1、如下图所示,准备要使用到的硬件,这个例子程序中,我们使用到的硬件很简单,只有一个控制器和一个下载线,不需要其他的硬件设备

Arduino学习笔记之使用浮点数

2、打开 Arduino IDE 软件来编辑程序,程序如下所示:

float value = 1.1;

void setup()

{

  Serial.begin(9600);//设置串口波特率为9600

  }

      //如果a和b的差值很小,则传回 true

    //其中DELTA的值是相等的最大差异

    boolean almostEqual(float a,float b)

    {

      const float DELTA = .00001;

      if(a == 0) return fabs(b) <= DELTA;

      if(b == 0) return fabs(a) <= DELTA;

      return fabs((a - b) / max(fabs(a),fabs(b))) <= DELTA;

      }

  void loop()

  {

    value = value - 0.1;//每次减0.1

    if(value == 0)

    Serial.println("The value is exactly zero");

    else if(almostEqual(value,0))

    {

      Serial.print("The value");

      Serial.print(value,7);//显示value小数点后7位

      Serial.println("is almost equal to zero");

      }

      else

      Serial.println(value);

      delay(100);

    }

你可以选择直接复制粘贴代码,也可以手敲代码练习一下。

3、程序代码编辑完成后,就可以进行编译,点击编译的时候,如果程序之前没有保存会弹出如下对话框,选择一个位置进行保存即可,如果程序已经保存过,在编译时会自动保存改动内容。

如图所示,程序编译成功,就会在下方显示“编译完成”

Arduino学习笔记之使用浮点数

Arduino学习笔记之使用浮点数

4、在程序上传之前,需要选择控制器的型号“Arduino UNO”,控制器在电脑上的端口,我这里是“com6”,注意一定要正确的选择这两项,否则会造成后续的程序上传失败。

Arduino学习笔记之使用浮点数

Arduino学习笔记之使用浮点数

5、完成了以上的操作之后,我们就可以进行程序的上传,点击编辑器的上传,没有问题的情况下,上传后,在 Arduino IDE 的下方会显示“上传成功”,如图所示。我们可以发现,在上传过程中,编译器同样会对程序先编译,再上传,但是为了程序的正确性,我还是比较习惯在上传前,先进行一次编译。

Arduino学习笔记之使用浮点数

6、如图所示,现在我们可以打开 Arduino IDE 的串口监视器,来查看程序的输出效果

Arduino学习笔记之使用浮点数

Arduino学习笔记之使用浮点数

7、回顾:

浮点函数的精确度不高,计算结果通常会有一定的误差,所以没有出现预计的输出“The value is exautly zero”,但是它的值是非常接近于零的,却又永不为零。在很多平台上double的精度要更高于float,但是在Arduino中,float和double是相同的。

  • matlab中如何表示“稀疏矩阵的图形“?
  • MATLAB中怎么把矩阵写入txt文档中去啊
  • matlab中的m文件如何进行单步调试
  • 如何使用python语言中的array进行访问数组
  • MATLAB的GUI中,如何去编写鼠标响应事件
  • 热门搜索
    巴西龟怎么养放多少水 名句大全 我的世界视频大全 qq伤感网名大全 张富清简介 五年级好词好句大全 形容词大全 贝多芬简介 正版资料大全 老拉肚子怎么回事