The official mbed C/C SDK provides the software platform and libraries to build your applications.

Fork of mbed by mbed official

Committer:
bogdanm
Date:
Wed Oct 23 16:23:06 2013 +0300
Revision:
68:f37f3b9c9f0b
Parent:
65:5798e58a58b1
Bug fixes and new features

Many changes in this release, including:

- The new RawSerial class is a simple wrapper over the serial HAL that can
be safely used from an interrupt handler.
- Interrupt chaining code was removed from InterruptIn, Serial and Ticker
because it caused lots of issues with the RTOS. Interrupt chaining is
still possible using the InterruptManager class.
- InterruptIn has two new methods (enable and disable irq)

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bogdanm 65:5798e58a58b1 1 /* mbed Microcontroller Library
bogdanm 65:5798e58a58b1 2 * Copyright (c) 2006-2013 ARM Limited
bogdanm 65:5798e58a58b1 3 *
bogdanm 65:5798e58a58b1 4 * Licensed under the Apache License, Version 2.0 (the "License");
bogdanm 65:5798e58a58b1 5 * you may not use this file except in compliance with the License.
bogdanm 65:5798e58a58b1 6 * You may obtain a copy of the License at
bogdanm 65:5798e58a58b1 7 *
bogdanm 65:5798e58a58b1 8 * http://www.apache.org/licenses/LICENSE-2.0
bogdanm 65:5798e58a58b1 9 *
bogdanm 65:5798e58a58b1 10 * Unless required by applicable law or agreed to in writing, software
bogdanm 65:5798e58a58b1 11 * distributed under the License is distributed on an "AS IS" BASIS,
bogdanm 65:5798e58a58b1 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
bogdanm 65:5798e58a58b1 13 * See the License for the specific language governing permissions and
bogdanm 65:5798e58a58b1 14 * limitations under the License.
bogdanm 65:5798e58a58b1 15 */
bogdanm 65:5798e58a58b1 16 #ifndef MBED_GPIO_IRQ_API_H
bogdanm 65:5798e58a58b1 17 #define MBED_GPIO_IRQ_API_H
bogdanm 65:5798e58a58b1 18
bogdanm 65:5798e58a58b1 19 #include "device.h"
bogdanm 65:5798e58a58b1 20
bogdanm 65:5798e58a58b1 21 #if DEVICE_INTERRUPTIN
bogdanm 65:5798e58a58b1 22
bogdanm 65:5798e58a58b1 23 #ifdef __cplusplus
bogdanm 65:5798e58a58b1 24 extern "C" {
bogdanm 65:5798e58a58b1 25 #endif
bogdanm 65:5798e58a58b1 26
bogdanm 65:5798e58a58b1 27 typedef enum {
bogdanm 65:5798e58a58b1 28 IRQ_NONE,
bogdanm 65:5798e58a58b1 29 IRQ_RISE,
bogdanm 65:5798e58a58b1 30 IRQ_FALL
bogdanm 65:5798e58a58b1 31 } gpio_irq_event;
bogdanm 65:5798e58a58b1 32
bogdanm 65:5798e58a58b1 33 typedef struct gpio_irq_s gpio_irq_t;
bogdanm 65:5798e58a58b1 34
bogdanm 65:5798e58a58b1 35 typedef void (*gpio_irq_handler)(uint32_t id, gpio_irq_event event);
bogdanm 65:5798e58a58b1 36
bogdanm 65:5798e58a58b1 37 int gpio_irq_init(gpio_irq_t *obj, PinName pin, gpio_irq_handler handler, uint32_t id);
bogdanm 65:5798e58a58b1 38 void gpio_irq_free(gpio_irq_t *obj);
bogdanm 65:5798e58a58b1 39 void gpio_irq_set (gpio_irq_t *obj, gpio_irq_event event, uint32_t enable);
bogdanm 68:f37f3b9c9f0b 40 void gpio_irq_enable(gpio_irq_t *obj);
bogdanm 68:f37f3b9c9f0b 41 void gpio_irq_disable(gpio_irq_t *obj);
bogdanm 65:5798e58a58b1 42
bogdanm 65:5798e58a58b1 43 #ifdef __cplusplus
bogdanm 65:5798e58a58b1 44 }
bogdanm 65:5798e58a58b1 45 #endif
bogdanm 65:5798e58a58b1 46
bogdanm 65:5798e58a58b1 47 #endif
bogdanm 65:5798e58a58b1 48
bogdanm 65:5798e58a58b1 49 #endif