Hi again.
I've changed the defines to the code bellow:
#elif defined(__SAM3X8E__)
#define PIN_TO_BASEREG(pin) (portInputRegister(digitalPinToPort(pin)))
#define PIN_TO_BITMASK(pin) (digitalPinToBitMask(pin))
#define IO_REG_TYPE uint32_t
#define IO_REG_ASM
#define DIRECT_READ(base, mask) ((*(base)) & (mask))
#define DIRECT_MODE_INPUT(base, mask) (base->PIO_OER &= ~mask)
#define DIRECT_MODE_OUTPUT(base, mask) (base->PIO_OER |= mask)
#define DIRECT_WRITE_LOW(base, mask) ((*(base)) &= ~mask)
#define DIRECT_WRITE_HIGH(base, mask) ((*(base)) |= mask)
#include "pgmspace.h"
Right now I'm stuck with:
#define DIRECT_MODE_INPUT(base, mask) (base->PIO_OER &= ~mask)
#define DIRECT_MODE_OUTPUT(base, mask) (base->PIO_OER |= mask)
The compiler complains that he doens't know member PIO_OER.
I'm looking in the files for this structures but I'm not finding them.
Anyone knows were these structures are?
The idea here, is to make the pin output, or input. If I recall right, this is done with OER.
I've previously used this registers in UTFT lib but in this format:
REG_PIOX_OER=0xXXXXX
The errors I'm getting from compiler:
"
D:\Docs\Arduino\arduino-1.5.1r2_teste\libraries\OneWire\OneWire.cpp: In member function 'uint8_t OneWire::reset()':
D:\Docs\Arduino\arduino-1.5.1r2_teste\libraries\OneWire\OneWire.cpp:128: error: request for member 'PIO_OER' in '* reg', which is of non-class type 'volatile long unsigned int'
D:\Docs\Arduino\arduino-1.5.1r2_teste\libraries\OneWire\OneWire.cpp:138: error: request for member 'PIO_OER' in '* reg', which is of non-class type 'volatile long unsigned int'
D:\Docs\Arduino\arduino-1.5.1r2_teste\libraries\OneWire\OneWire.cpp:142: error: request for member 'PIO_OER' in '* reg', which is of non-class type 'volatile long unsigned int'
"
Help appreciated.
