Problema con lectura pines digitales arduino m0 (PA17 y PA14)

Hola,

Estoy intentando leer el estado de estos dos pines digitales como entrada (PA17 y PA14). El problema es que no puedo leer su estado porque no cambia. He estado mirando el variants.h del M0 y el PA17 está designado para el led de la placa. (He desarrollado mi propia placa de arduino y utilizado ese pin para una entrada.

// 13 (LED)
{ PORTA, 17, PIO_PWM, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM|PIN_ATTR_TIMER), No_ADC_Channel, PWM2_CH1, TCC2_CH1, EXTERNAL_INT_1 }, // TCC2/WO[1]

// 2..12
// Digital Low
{ PORTA, 14, PIO_DIGITAL, (PIN_ATTR_DIGITAL), No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_14 },

El código es muy sencillo:

void setup() {
  // put your setup code here, to run once:
  SerialUSB.begin(115200);
  pinMode(13, INPUT); 
    pinMode(2, INPUT); 
}

void loop() {
  SerialUSB.print("Estado PA14: ");
  SerialUSB.println(digitalRead(2));

  SerialUSB.print("Estado PA17: ");
  SerialUSB.println(digitalRead(13));
delay(2000);

}

Pero el estado no cambia y he medido la tensión es las dos líneas y no coincide con la lectura.

Gracias de antemano.

Que es esto?

 SerialUSB.begin(115200);

Esto significa que no estas usando un Arduino común o que definiste un puerto serie virtual con SoftwareSerie, de ser asi no se ve en tu código y si no se ve, raro que no de error pero obvio que no saldria nada por puerto serie.

Estoy usando Arduino M0 el cual implementa de serie el serialUSB, sino no podría recibir nada desde el monitor serie. El problema es como tocar los registro del SAMD21 para cambiar el tipo de pin.

Un Saludo

Espera que encuentre mi código cuando trabajé con un SODAQ que es similar a esto que presentas. No lo recuerdo.

Encontré el código y no veo cosas muy diferentes.
Los pines tienes su R pull-up o down?