|
|
本帖最后由 shihaipeng04 于 2014-3-11 11:34 编辑
昨天发现了一个小有趣的现象,同样的程序在不同的板子运行起来速度差异也不小。 我手头有uno r3 是328P-pu的芯片,还有mirco是MEGA32U4的芯片,和一个mirco pro 是MEGA328P的芯片,他们的速度到是一毛一样。可是 uno的却比他们快了不少。
同样的程序,uno用了 13348ms, 而mirco们则跑了17604ms,更有意思的是 mirco还可以选用Lily或者 3.7v的板卡来编译,结果跑出的成绩是28379ms,慢了一倍还多点。
后来又用pcduino跑了一下,结果折腾到天亮也没运行起来。真心的不会玩那东西哦。。。
下午来遍个程序,我们赛跑一下吧。看看各种板卡的性能如何。
- void setup()
- {
- Serial.begin(9600);
- pinMode(9,OUTPUT);
- pinMode(6,OUTPUT);
- pinMode(5,INPUT);
- }
- void loop()
- {
- unsigned long b,e,t;
- int c,d,i,j,x;
- Serial.println("Go~~~~~~~~");
- b = millis();
- for (c=0;c<30000;c++) //循环很多次,干一些固定的事情
- {
- digitalWrite(9,1);
- analogWrite(6,i);
- x = analogRead(5); //如果不加上这些read write 只有加减的情况,速度非常惊人,看来read 什么的还是挺慢的
- i++;
- j--;
- x=i * j;
- x=i / j;
- digitalWrite(9,0);
- }
- e = millis();
- t = e - b; //记录开始,结束时间,计算时长
- Serial.println(b);
- Serial.println(e);
- Serial.print("t=");
- Serial.println(t);
- delay(1000); //循环运行,观察每次结果会有微小的变化
- }
复制代码
测试结果 mirco 4096 , uno 3840 依然是uno胜出。 |
|