Replacement for regular GPIO (DigitalIn, DigitalOut, DigitalInOut) classes which has superior speed.

Fork of FastIO by Erik -

Committer:
amateusz
Date:
Tue Apr 17 13:28:24 2018 +0000
Revision:
23:23a43a288e2c
Parent:
17:87872fcf8586
Added support for STM32L1xx (checked on Nucleo L152). I'm done this solely cross referenced existing STM32 target files with L152 reference manual.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Sissors 2:1a6ed4b84590 1 #include "mbed.h"
Sissors 2:1a6ed4b84590 2
Sissors 2:1a6ed4b84590 3 typedef struct {
Sissors 2:1a6ed4b84590 4 DigitalInOut *_pin;
Sissors 2:1a6ed4b84590 5 } fastio_vars;
Sissors 2:1a6ed4b84590 6
Sissors 17:87872fcf8586 7 #define INIT_PIN this->container._pin = new DigitalInOut(pin)
Sissors 17:87872fcf8586 8 #define DESTROY_PIN delete(this->container._pin)
Sissors 2:1a6ed4b84590 9
Sissors 17:87872fcf8586 10 #define SET_DIR_INPUT this->container._pin->input()
Sissors 17:87872fcf8586 11 #define SET_DIR_OUTPUT this->container._pin->output()
Sissors 17:87872fcf8586 12 #define SET_MODE(pull) this->container._pin->mode(pull)
Sissors 2:1a6ed4b84590 13
Sissors 17:87872fcf8586 14 #define WRITE_PIN_SET this->container._pin->write(1)
Sissors 17:87872fcf8586 15 #define WRITE_PIN_CLR this->container._pin->write(0)
Sissors 2:1a6ed4b84590 16
Sissors 17:87872fcf8586 17 #define READ_PIN this->container._pin->read()
Sissors 2:1a6ed4b84590 18