Étape 7: Télécharger le Code
#include < avr/pgmspace.h >
#include « util.h »
#include « wave.h »
Carte de AF_Wave ;
Fichier f ;
Wavefile vague ; seul !
uint16_t taux d’échantillonnage ;
void setup() {}
Serial.Begin(9600) ; mettre en place une bibliothèque série à 9600 bps
Serial.println ("vague test!") ;
pinMode (sortie 2) ;
pinMode (3, sortie) ;
pinMode (sortie 4) ;
pinMode (5, sortie) ;
pinMode (sortie 9) ;
Si (! card.init_card()) {}
putstring_nl ("carte init. a échoué!") ; retour ;
}
Si (! card.open_partition()) {}
putstring_nl ("aucune partition!") ; retour ;
}
Si (! card.open_filesys()) {}
putstring_nl ("Impossible d’ouvrir filesys") ; retour ;
}
Si (! card.open_rootdir()) {}
putstring_nl ("Impossible d’ouvrir dir") ; retour ;
}
putstring_nl ("fichiers trouvés:") ;
ls() ;
}
ls() Sub {}
nom char [13] ;
int ret ;
Card.reset_dir() ;
putstring_nl ("fichiers trouvés:") ;
tandis que (1) {}
RET = card.get_next_name_in_dir(name) ;
Si (! ret) {}
Card.reset_dir() ;
retour ;
}
Serial.println(Name) ;
}
}
uint8_t tracknum = 0 ;
void loop() {}
uint8_t i, r ;
nom c, Char [15] ;
Card.reset_dir() ;
Faites défiler les fichiers dans le répertoire
pour (i = 0; i < tracknum + 1; i ++) {}
r = card.get_next_name_in_dir(name) ;
Si (! r) {}
manqué de pistes ! recommencer
tracknum = 0 ;
retour ;
}
}
putstring ("\n\rPlaying") ; Serial.Print(Name) ;
réinitialiser le répertoire, alors nous pouvons trouver le fichier
Card.reset_dir() ;
playcomplete(Name) ;
tracknum ++ ;
}
void playcomplete(char *name) {}
uint16_t potval ;
uint32_t newsamplerate ;
playfile(Name) ;
taux d’échantillonnage = wave.dwSamplesPerSec ;
alors que {(wave.isplaying)
digitalWrite (9, HIGH) ;
Delay(1) ;
digitalWrite (9, faible) ;
Delay(1) ;
vous pouvez faire des choses ici !
Delay(50) ;
}
Card.close_file(f) ;
}
void playfile(char *name) {}
f = card.open_file(name) ;
Si (! f) {}
putstring_nl ("Impossible d’ouvrir le fichier") ; retour ;
}
Si (! wave.create(f)) {}
putstring_nl ("pas un valide" WAV") ; retour ;
}
OK le temps de jouer !
Wave.Play() ;
}