Página principal

STM32F103C8T6
vs
Arduino
Test en un bucle


En esta practica voy a comparar la rapidez de un bucle en las dos placas.

Programa de bucle
//  Arduino
//  22.6 Seg.  __2000

//  STM
//  5.8 Seg.  ___2000

int n1,n2;
char z;

// STM
#define pinLED1 PA0

//Arduino
//#define pinLED1 13

void setup() 
{
  pinMode(pinLED1, OUTPUT);
}

void loop() 
{
    digitalWrite(pinLED1, HIGH);
    for(n1=0;n1<30000;n1++) 
      {
        for(n2=0;n2<2000;n2++) { z=1; }
      }
    digitalWrite(pinLED1, LOW);
    for(n1=0;n1<30000;n1++) 
      {
        for(n2=0;n2<2000;n2++) { z=0; }
      }
               
}


Como podemos comprobar que  si utilizamos el mismo programa, en Arduino tarda en recorrer el bucle 22.6 Seg. , y si utilizamos el STM32  tarda 5.8 Seg.
La comparación es de  3.8 veces más rápido el STM32 .
Yo esperaba bastante más rápido el STM32 por ser un micro de 32 bits  frente al arduino que es de 8 bits.
Además el uno funciona a 72 MHz frente al otro que funciona a 16 MHz.
Debemos pensar que la optimización de código de cada compilador es diferente.


Saludos.
JUAN GALAZ