terom@9: #ifndef QMSK_PORT_H terom@9: #define QMSK_PORT_H terom@9: terom@9: #include terom@9: terom@9: typedef volatile uint8_t ioport_t; terom@9: terom@9: static inline ioport_t tbi(ioport_t *port, uint8_t bit) terom@9: { terom@9: return *port & (1 << bit); terom@9: } terom@9: terom@9: static inline void sbi(ioport_t *port, uint8_t bit) terom@9: { terom@9: *port |= (1 << bit); terom@9: } terom@9: terom@9: static inline void cbi(ioport_t *port, uint8_t bit) terom@9: { terom@9: *port &= ~(1 << bit); terom@9: } terom@9: terom@9: static inline void xbi(ioport_t *port, uint8_t bit) terom@9: { terom@9: *port ^= (1 << bit); terom@9: } terom@9: #endif