mbed libraries for KL25Z
Diff: gpio_api.h
- Revision:
- 8:c14af7958ef5
- Parent:
- 7:73c5efe92a6c
- Child:
- 9:663789d7729f
--- a/gpio_api.h Tue Oct 23 09:20:18 2012 +0000 +++ b/gpio_api.h Fri Nov 09 11:33:53 2012 +0000 @@ -4,45 +4,23 @@ #ifndef MBED_GPIO_API_H #define MBED_GPIO_API_H -#include "PinNames.h" +#include "device.h" #ifdef __cplusplus extern "C" { #endif -/* This version of the gpio API caches the gpio register pointer and the pin mask */ -typedef struct { - PinName pin; - uint32_t mask; - - __IO uint32_t *reg_dir; - __IO uint32_t *reg_set; - __IO uint32_t *reg_clr; - __I uint32_t *reg_in; -} gpio_object; - /* Set the given pin as GPIO * @param pin The pin to be set as GPIO * @return The GPIO port mask for this pin **/ -uint32_t gpio_set (PinName pin); +uint32_t gpio_set(PinName pin); /* GPIO object */ void gpio_init(gpio_object *obj, PinName pin, PinDirection direction); void gpio_mode(gpio_object *obj, PinMode mode); void gpio_dir (gpio_object *obj, PinDirection direction); -static inline void gpio_write(gpio_object *obj, int value) { - if (value) - *obj->reg_set = obj->mask; - else - *obj->reg_clr = obj->mask; -} - -static inline int gpio_read(gpio_object *obj) { - return ((*obj->reg_in & obj->mask) ? 1 : 0); -} - #ifdef __cplusplus } #endif