pcDuinoV3 评测-Arduino中文社区 - Powered by Discuz! Archiver

1+1 发表于 2014-4-25 15:30

pcDuinoV3 评测

V3和V2虽然都支持arduino,但是显然V3使用的A20处理器比A10的性能更好更强劲,那么A20比A10到底快了多少呢?我们将通过一个求圆周率的小程序(作者:arduino论坛的Steve Curd)来比较他们的运算能力。
先,通过TTL232模块把V3和电脑连接起来然后再pcduino V3自带的arduino IDE中写入下列代码://
// Pi_2
//
// Steve Curd
// December 2012
//
// This program approximates pi utilizing the Newton's approximation.It quickly
// converges on the first 5-6 digits of precision, but converges verrrry slowly
// after that.For example, it takes over a million iterations to get to 7-8
// significant digits.
//
// I wrote this to evaluate the performance difference between the 8-bit Arduino Mega,
// and the 32-bit Arduino Due.
//

#include <core.h> // for pcDuino v3
#include "Serial.h"

#define ITERATIONS 100000L    // number of iterations
#define FLASH 1000            // blink LED every 1000 iterations

void setup() {
pinMode(13, OUTPUT);      // set the LED up to blink every 1000 iterations
Serial.begin(57600);
}

void loop() {

unsigned long start, time;
unsigned long niter=ITERATIONS;
int LEDcounter = 0;
boolean alternate = false;
unsigned long i, count=0;
float x = 1.0;
float temp, pi=1.0;

Serial.print("Beginning ");
Serial.print(niter);
Serial.println(" iterations...");
Serial.println();

start = millis();
for ( i = 2; i < niter; i++) {
    x *= -1.0;
    pi += x / (2.0f*(float)i-1.0f);
    if (LEDcounter++ > FLASH) {
      LEDcounter = 0;
      if (alternate) {
      digitalWrite(13, HIGH);
      alternate = false;
      } else {
      digitalWrite(13, LOW);
      alternate = true;
      }
      temp = 40000000.0 * pi;
    }
}
time = millis() - start;

pi = pi * 4.0;

Serial.print("# of trials = ");
Serial.println(niter);
Serial.print("Estimate of pi = ");
Serial.println(pi, 10);

Serial.print("Time: "); Serial.print(time); Serial.println(" ms");

delay(10000);
}

在电脑上打开串口工具,选择对应的COM口还有正确的波特率。我们可以看到V3返回的数据。

DIYer 发表于 2014-8-24 10:45

:),期待继续
页: [1]
查看完整版本: pcDuinoV3 评测