The PRUSS don't cause any CPU usage. You can reduce CPU usage by adding a nsleep() call to your while loop. Anyway, the max. speed of pulling the GPIO state (as in your while loop) is limited to approx. 140 kHz.
An alternative is to configure a GPIO interrupt 1. Map an interrupt to any channel (except /dev/uio5, which is used by libpruio). 2. Write a callback to handle the interrupt and install it. 3. Configure the GPIO interrupt controller. 4. Download the configuration (pruio_config(), RB and MM mode need a further start command). As you can see this isn't trivial and needs advanced programming skills. You've to find a way to reset the interrupt status flag, which isn't supported by libpruio ATM. Your problem description isn't very detailed. It may also be an option to use the General-Purpose Inputs (R31) of the free PRUSS in 28-bit shift mode to capture the signal at high frequencies. BR -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
