Fixed constructor for latest mbed library.

Dependents:   Pinscape_Controller_v1 Pinscape_Controller Pinscape_Controller_V2_arnoz Pinscape_Controller_V2

Fork of FastIO by Erik -

Committer:
mjr
Date:
Fri Sep 25 18:49:20 2015 +0000
Revision:
12:199aca52ac42
Parent:
11:327ae1d5fecb
Fixed constructor for mbed library update

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Sissors 11:327ae1d5fecb 1 #if defined(TARGET_NUCLEO_F401RE) || defined(TARGET_NUCLEO_F411RE)
Sissors 4:6ebbf25b9167 2
Sissors 4:6ebbf25b9167 3 #include "mbed.h"
Sissors 4:6ebbf25b9167 4 #include "pinmap.h"
Sissors 4:6ebbf25b9167 5
Sissors 4:6ebbf25b9167 6 typedef struct {
Sissors 4:6ebbf25b9167 7 uint32_t mask;
Sissors 4:6ebbf25b9167 8 } fastio_vars;
Sissors 4:6ebbf25b9167 9
Sissors 4:6ebbf25b9167 10 #define PINMASK (1 << STM_PIN(pin))
Sissors 4:6ebbf25b9167 11 #define PORT ((GPIO_TypeDef *)(GPIOA_BASE + 0x0400 * STM_PORT(pin)))
Sissors 4:6ebbf25b9167 12
Sissors 5:3dd1ab9bbc59 13 #define INIT_PIN RCC->AHB1ENR |= (1 << STM_PORT(pin)); (PORT->MODER &= ~(GPIO_MODER_MODER0_1 << (STM_PIN(pin) * 2))); container.mask = PINMASK
Sissors 4:6ebbf25b9167 14 #define DESTROY_PIN
Sissors 4:6ebbf25b9167 15
Sissors 7:1e784ae11fba 16 #define SET_DIR_INPUT (PORT->MODER &= ~(GPIO_MODER_MODER0_0 << (STM_PIN(pin) * 2)))
Sissors 4:6ebbf25b9167 17 #define SET_DIR_OUTPUT (PORT->MODER |= (GPIO_MODER_MODER0_0 << (STM_PIN(pin) * 2)))
Sissors 4:6ebbf25b9167 18 #define SET_MODE(pull) pin_mode(pin, pull);
Sissors 4:6ebbf25b9167 19
Sissors 4:6ebbf25b9167 20 #define WRITE_PIN_SET (PORT->BSRRL = PINMASK)
Sissors 4:6ebbf25b9167 21 #define WRITE_PIN_CLR (PORT->BSRRH = PINMASK)
Sissors 4:6ebbf25b9167 22
Sissors 4:6ebbf25b9167 23 #define READ_PIN ((PORT->IDR & container.mask) ? 1 : 0)
Sissors 4:6ebbf25b9167 24
Sissors 4:6ebbf25b9167 25 #endif