> > // Enable the clock to the GPIO (enable input sampling) > > HAL_WRITE_UINT32(AT91_PMC + AT91_PMC_PCER, AT91_PMC_PCER_PIOA); > > You only need to enable the clock once. You could move this outside of > the read function.
Ok thanks again, will do that. I also plan to convert my example to a macro, to save the overhead of making the function call. > > Maybe i should add a macro to var_io.h to enable/disable the clock? That might be a good idea, or add a comment to HAL_ARM_AT91_GPIO_CFG_DIRECTION and HAL_ARM_AT91_GPIO_GET stating that the clock must be enabled to receive inputs. At least it was not obvios to me, and others might benefit too :-) By the way can you point me to an example/documentation of how to use HAL_ARM_AT91_GPIO_CFG_INTERRUPT I want to setup the buttons to generate interupts for handling user input. I have found some domentation of how to set up ISR and DSR using cyg_interrupt_create(). However, I can figure out how to map a GPIO pin to trigger the interrupt vector? Cheers Rasmus -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
