leggere lo stato del pin 13

salve a tutti io vorrei leggere lo stato del pin 13, allora vi spiego.
Io ho fatto un programma che gestisco da seriale il pin 13 con questo codice_

int led =13;
int val_temp=0;
int stato=0;
int titolo=0;

void setup(){

        pinMode(led,OUTPUT);
        Serial.begin(9600);
}

void loop(){
        if(titolo==0){
                Serial.println("a->led acceso\nb->led spento");
                titolo++;
        }
         val_temp=Serial.read();
        if (val_temp=='a'){
                digitalWrite(led,HIGH);
                Serial.println("led acceso");
        }
        if(val_temp=='b'){
                digitalWrite(led,LOW);
                Serial.println("led spento");
        }
}
~

ecco come vedete faccio tutto dalla seriale, ora vorrei fare un messaggio iniziale dicendo che con a il led si accende e con b il led si spegne(gia fatto) e vorrei aggiungere dicendo lo stato attuale di quel pin
Grazie

Per la prima domanda, metti la print del msg nel setup

void setup(){
  delay(1000);
  pinMode(led,OUTPUT);
  Serial.begin(9600);
  Serial.println("a->led acceso\nb->led spento");
}

Per la seconda, lo stato lo vuoi stampare di continuo? Perchè già stampi lo stato led quando lo cambi !?!

Nono io voglio che lo stampi solo quando avvio il programma , mi deve dire solo se è accesa o è spenta

fionda08:
Nono io voglio che lo stampi solo quando avvio il programma , mi deve dire solo se è accesa o è spenta

Beh la digitalRead() la puoi fare anche nella setup.

e che cosa si ci passa dentro la funzione???
io penso sia cosi:
digitalRead(led,??????)

void setup(){
  delay(1000);
  pinMode(led,OUTPUT);
  Serial.begin(9600);
  Serial.println("a->led acceso\nb->led spento");
  if(digitalRead(13)==HIGH)
    Serial.println("led acceso");
  else
    Serial.println("led spento");
}
void setup(){
  delay(1000);
  pinMode(led,OUTPUT);
  Serial.begin(9600);
  Serial.println("a->led acceso\nb->led spento");
  if(digitalRead(13)==HIGH)
    Serial.println("led acceso");
  else
    Serial.println("led spento");
}

Qualunque sia lo stato del led 13 dice sempre led acceso!

Non hai dichiarato il pin 13 come input.

Scusa, ho visto solo l'ultima parte di codice. Non avevo notato che dichiari "led = 13".

Una domanda. Ma che modello di Arduino, esattamente, stai usando? Perché sul pin 13 c'è anche il led "L" integrato e forser potresti avere anche problemi dal circuito che lo gestisce.