The underlying hardware counter insists on seeing one falling edge before it will count a rising edge by design. A common mistake when testing is to write something like this (in GP3 JavaScript):

// LED connected to counter




This will always print 0 because the counter is looking for an initial falling edge after a reset. It gets that from the the setLED(false) statement but then reading the counter resets it (note that GP3A chips can read the counter without reseting it).