این 20 میلی ثانیه رو خودم محدود کردم، برای اینکه بیش از 20 میلی ثانیه برای خوندن یه پالس برنامه رو معطل نکنه.
برای افزایش دقت میتونین از میکروهای STM32F4 استفاده کنین.
اینم کد:
کد:
unsigned long val0,val1,val2,val3; // variable to store the value read
void setup()
{
Serial.begin(115200);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(A0, INPUT);
pinMode(A1, INPUT);
pinMode(A2, INPUT);
pinMode(A3, INPUT);
analogWrite(5, 10);
analogWrite(6, 100);
analogWrite(9, 200);
analogWrite(10, 240);
}
void loop()
{
val0 = pulseIn(A0, HIGH);
val1 = pulseIn(A1, HIGH);
val2 = pulseIn(A2, HIGH);
val3 = pulseIn(A3, HIGH);
Serial.print(val0);
Serial.print(" ");
Serial.print(val1);
Serial.print(" ");
Serial.print(val2);
Serial.print(" ");
Serial.println(val3);
delay(500);
}