Counting multiple pulse input

Hello,

I am writing some code that reads the pluseIn() function to start a counter for each of two rotary encoders and then send the data through serial. However, if one of the encoders is currently reading, the other one won’t read. If I plug one encoder in both pins, it works normally.

here’s my code:

#include <StopWatch.h> //stopwatch class
stopW1 StopWatch;

int val0,val1,count0,count1 = 0
unsigned long lastSent = 0;
void setup()
{
Serial.begin(9600);
stopW1.start();
}

void loop()
{
// I had to use the analog pins due to limitations on the board, all the digital inputs have an opto-isolator
val0 = pulseIn(A0, HIGH); 
val1 = pulseIn(A1, HIGH);
if(val0 != 0)
{
count0 ++;
}
if(val1 != 0)
{
count1 ++;
}
if(stopW1.elapsed() - lastSent > 500)
{
lastSent =  stopW1.elapsed();

Serial.println("count 0: ")
Serial.print(count0);
Serial.print(" count 1: ");
Serial.print(count1);
}
}

Solved it ! I found this http://www.me.ucsb.edu/~me170c/Code/How_to_Enable_Interrupts_on_ANY_pin.pdf hope someone finds it useful.

Use INTx or PCINTx.

@allanba,
Can you post your final working code for future reference?