Skip to content

Instantly share code, notes, and snippets.

@houmei
Last active August 29, 2015 14:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save houmei/7a9a04c019c31098497a to your computer and use it in GitHub Desktop.
Save houmei/7a9a04c019c31098497a to your computer and use it in GitHub Desktop.
Galileo/Galileo Gen2 GPIO speedtest
GPIO speedtest
pin= 0
44539
44547
44548
44548
44548
44544
44544
44523
44504
44501
Loop= 44534 ms
pin= 1
44691
44690
44690
44690
44690
44692
44692
44693
44656
44656
Loop= 44684 ms
pin= 2
44525
44526
44525
44526
44526
44528
44526
44489
44485
44486
Loop= 44514 ms
pin= 3
44961
44954
44953
44950
44951
44948
44948
44948
44949
44917
Loop= 44947 ms
pin= 4
44786
44784
44784
44786
44786
44786
44786
44784
44785
44785
Loop= 44785 ms
pin= 5
45062
45060
45060
45057
45056
45059
45068
45099
45095
45094
Loop= 45071 ms
pin= 6
44919
44919
44920
44921
44923
44924
44925
44925
44940
44971
Loop= 44928 ms
pin= 7
45110
45112
45110
45111
45111
45114
45088
45071
45069
45069
Loop= 45096 ms
pin= 8
45209
45207
45208
45207
45206
45206
45207
45208
45207
45208
Loop= 45207 ms
pin= 9
45194
45197
45224
45235
45234
45234
45235
45234
45234
45233
Loop= 45225 ms
pin= 10
45302
45302
45298
45298
45296
45295
45296
45299
45298
45300
Loop= 45298 ms
pin= 11
45263
45262
45261
45262
45261
45258
45257
45259
45271
45296
Loop= 45265 ms
pin= 12
45077
45076
45076
45076
45101
45114
45115
45113
45113
45115
Loop= 45097 ms
pin= 13
45206
45189
45166
45167
45168
45169
45194
45210
45207
45209
Loop= 45188 ms
END.
GPIO speedtest
pin= 0
222
223
222
222
222
222
223
222
222
222
Loop= 222 ms
pin= 1
222
223
222
222
222
222
223
222
223
222
Loop= 222 ms
pin= 2
222
222
222
223
222
223
222
222
222
222
Loop= 222 ms
pin= 3
223
222
222
222
222
223
222
223
222
223
Loop= 222 ms
pin= 4
257
258
258
257
258
257
257
258
257
257
Loop= 257 ms
pin= 5
258
257
258
257
257
258
257
258
258
257
Loop= 257 ms
pin= 6
258
257
258
257
258
258
258
257
258
257
Loop= 257 ms
pin= 7
56105
56112
56121
56064
56079
56095
56103
56111
56071
56075
Loop= 56093 ms
pin= 8
56017
56020
56024
56020
56035
56043
56047
56050
56006
56009
Loop= 56027 ms
pin= 9
258
258
257
258
257
257
258
257
258
258
Loop= 257 ms
pin= 10
222
223
222
223
222
222
223
222
223
222
Loop= 222 ms
pin= 11
258
257
258
258
257
258
258
257
258
257
Loop= 257 ms
pin= 12
222
223
222
223
222
222
222
222
223
222
Loop= 222 ms
pin= 13
257
258
257
257
258
257
258
258
257
258
Loop= 257 ms
END.
// GPIO speed test
//
unsigned long t,sum;
// int Loop=100000; // for Galileo Gen2
int Loop=10000; // for Galileo
int ct=10;
int pin=0;
void setup() {
Serial.begin(9600);
delay(1000);
Serial.println("GPIO speedtest");
}
void loop() {
for(pin=0;pin<=13;pin++) {
pinMode(pin,OUTPUT);
Serial.print("pin= ");Serial.println(pin);
delay(1000);
sum=0;
for (int j=1;j<=ct;j++) {
t=millis();
for (int i=0;i<Loop;i++) {
digitalWrite(pin, HIGH);
digitalWrite(pin, LOW);
}
t=millis()-t; sum=sum+t;
Serial.println(t);
}
sum=sum/ct;
Serial.print("Loop= ");Serial.print(sum);Serial.println(" ms");
}
Serial.println("END.");
while(1);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment