mbed OS

API List

Full API list for mbed

Serial (UART) drivers

APIFull profileBare metal profile

SPI drivers

APIFull profileBare metal profile

Input/Output drivers

APIFull profileBare metal profile

Library

header: github

source:github

Internal Library

DigitalIn

class DigitalIn
{
    public:
        DigitalIn(PinName pin) : gpio()
        {
            gpio_init_in(&gpio, pin);
        }

        DigitalIn(PinName pin, PinMode mode) : gpio()
        {
            gpio_init_in_ex(&gpio, pin, mode);
        }

        ~DigitalIn()
        {
            gpio_free(&gpio);
        }

        int read()
        {
            return gpio_read(&gpio);
        }

        void mode(PinMode pull);
        int is_connected()
        {
            return gpio_is_connected(&gpio);
        }

        operator int()
        {
            return read();
        }

    protected:
    #if !defined(DOXYGEN_ONLY)
        gpio_t gpio;
    #endif //!defined(DOXYGEN_ONLY)
};
void DigitalIn::mode(PinMode pull)
{
    core_util_critical_section_enter();
    gpio_mode(&gpio, pull);
    core_util_critical_section_exit();
}

DigitalOut

class DigitalOut
{
public:
    DigitalOut(PinName pin) : gpio()
    {
        gpio_init_out(&gpio, pin);
    }

    DigitalOut(PinName pin, int value) : gpio()
    {
        gpio_init_out_ex(&gpio, pin, value);
    }

    void write(int value)
    {
        gpio_write(&gpio, value);
    }

    int read()
    {
        return gpio_read(&gpio);
    }

    int is_connected()
    {
        return gpio_is_connected(&gpio);
    }

    DigitalOut& operator= (int value)
    {
        write(value);
        return *this;
    }

    DigitalOut& operator= (DigitalOut& rhs);

    operator int()
    {
        return read();
    }

};

Last updated