include/port.h
author Tero Marttila <terom@paivola.fi>
Wed, 08 Oct 2014 23:19:03 +0300
changeset 9 49643ef9d3d2
permissions -rw-r--r--
port: move over ioport stuff from stdlib
#ifndef QMSK_PORT_H
#define QMSK_PORT_H

#include <avr/io.h>

typedef volatile uint8_t ioport_t;

static inline ioport_t tbi(ioport_t *port, uint8_t bit)
{
    return *port & (1 << bit);
}

static inline void sbi(ioport_t *port, uint8_t bit)
{
    *port |= (1 << bit);
}

static inline void cbi(ioport_t *port, uint8_t bit)
{
    *port &= ~(1 << bit);
}

static inline void xbi(ioport_t *port, uint8_t bit)
{
    *port ^= (1 << bit);
}
#endif