The best way to do this is to use the counter. The counter counts
signals without having to interrupt the system or use the USB bus.
When you request the number of ticks that the counter has seen, a
request is thrown from the CPU to the USB line to the 6008, which then
asks the counter "How many ticks have you seen?" That number is
returned over the USB bus, goes to the CPU, and then displays on your
screen. Since the DIO lines on the 6008 are software timed, there is
no way to guarantee that the data returning to the CPU is
deterministic. The conceptual difference between software-controlled
DIO (which nondeterministically returns an entire data stream) and a
software-tick-request-controlled counter (which returns a single number
with the number of ticks) prevents us from using the DIO lines on the
6008. The cheapest way to count more edges is to purchase more 6008s.
Another possibility would be to purchase a PCI counter board such as
the PCI-6602, which has 8 counters. The most counters we offer in the
USB form factor is 2 per device.
-John Sullivan
Problem Solver