cancel
Showing results for 
Search instead for 
Did you mean: 

STM Nucleo 32F303K8 slow analog on Arduino IDE

JStro.2
Associate

Both the Arduino Due and STM Nucleo 32F303K8 resolution is set as 12bits.

Digital speed is the instruction set a pin high and then low.

In my code I avoided using loops so I coded the instruction 1000 times to get a more accurate reading of the instruction itself.

The STM Nucleo 32F303K8 has a specified analog input of upto 5MSPS but it takes 187 micro seconds to get only one sample. Why on the Arduino IDE is the STM Nucleo 32F303K8 analog so slow? The Arduino Due manages 4.116 microsecond per sample, but on the digital test the STM Nucleo 32F303K8 is about 2.5 times faster.

float time1;

float time2;

void setup() {

 // put your setup code here, to run once:

 Serial.begin(9600);

 analogReadResolution(12);

}

void loop() {

 // put your main code here, to run repeatedly:

 time1 = micros();

 analogRead(A0); //1

 analogRead(A0); //2

 analogRead(A0); //3

…………………

 analogRead(A0); //999

 analogRead(A0); //1000

 time2 = micros();

 Serial.println(time2-time1);

}

1 REPLY 1
Uwe Bonnes
Principal III

Arduino often codes in an easy way and not in a time-sensitive way. Consider other libraries or rewrite the code in a better way.