fritzler-avr.de
Library Archiv
VS1053/VS1011 Library History

Eine von mir geschriebene Library die den VS1053/VS1011 ansteuert zum Musik abspielen. Die Library ist so ausgelegt, dass eine SD Karten Library am selben SPI betrieben werden kann. Der Datenstrom des VS1053/VS1011 hat also den gleichen SPI Mode wie eine SD Karte. Die Instructionregister werden allerdings in einem anderen SPI Mode betrieben, aber die Lib sichert selbstständig den Zustand. Der SPI sollte auf dem höchst möglichen Takt laufen, also beim Leiterbahn verlegen aufpassen.

Die lib besitzt Prozeduren zum Instruktionsregister lesen/schreiben.
Sowie zum Bass, Höhen und Lautstärke einstellen.

Ein Beispiel wie SD Karte und VS1053/VS1011 an den AVR angeschlossen werden können:

Benutzen der Library:

  1. #include "vs1053.h"
  2.    
  3.    //initialisieren
  4.    //zuerst Ports setzen mit CS Pins definiert sind
  5.    VS_set_Ports();
  6.    
  7.    //hier kann die SD Karten Library initialisiert werden
  8.    
  9.    //VS1053 init
  10.    VS_init_spimode();
  11.    VS_set_Volume(50, 50);
  12.    
  13.    char filename[12] = "TEST    MP3";
  14.  
  15.    //Beispielfunktion zum Audiodatei abspielen
  16.    void play_file(unsigned char* filename){
  17.  
  18.       uint8_t j;
  19.       unsigned long int seek = 0;
  20.      
  21.       if (ffopen(filename) != MMC_FILE_EXISTS){
  22.          return;
  23.       }else{
  24.          seek = file.length; 
  25.       }
  26.      
  27.       //abspielen
  28.       while(seek){
  29.          //MP3 Decoder will Daten, kanner haben
  30.          if (VS_get_DREQ()) {
  31.             //noch 32 Byte in der Datei oder weniger?
  32.             if (seek >= 32){
  33.                for (j = 0; j<32; j++){
  34.                   buffer[j] = ffread();
  35.                   seek--;
  36.                }
  37.                VS_write_databytes((unsigned const char*)&buffer, 32);
  38.             }else{
  39.                for (j = 0; j<seek; j++){
  40.                   buffer[j] = ffread();
  41.                   seek--;
  42.                }
  43.                VS_write_databytes((unsigned const char*)&buffer, ++j);
  44.             }
  45.          }
  46.       }
  47.      
  48.       ffclose();
  49.      
  50.       //VS1053 braucht es, VS1011 nicht
  51.       VS_new_file();
  52.    }
  53.  
  54.  
DOWNLOAD
Datenblatt VS1053
Datenblatt VS1011

WebSVN lädt Loading confirmation image

Home - Librarys

Kontakt - Haftungsausschluss - Impressum