Wave-Player mit ATmega168 probleme

Gast #2736397
Hallo !

Ich baue gerade einen SD-Card-Wave-Player mit einem ATmega168.
Soweit so gut... Schaltung ist aufgebaut, Programm geschrieben und
alles "läuft" halbwegs. Bis auf ein lautes Piepen und das Verzerren
der Audiodateien. Das Piepsen fängt sofort nach dem Reset an, also
vermutlich ist in meiner main.c schon am Anfang bei der init der Timer
was faul. Kann mir einer helfen ???


  ICR1   = (F_CPU/SAMPLERATE);

  TCCR1A = (1<<COM1A1) | (1<<COM1B1) | (1<<WGM11);
  TCCR1B = (1<<WGM12) |(1<<WGM13) | (1<<CS10);

  TIMSK1 = (1<<TOIE1);

  TCCR0A = (1<<COM0A0)|(1<<COM0B0)|(1<<WGM01);
  TCCR0B = (1<<CS00);   // F_CPU

  OCR0A = OCR1A = 128;
  OCR0B = OCR1B = 128;

  TCNT0 = 0;
  TCNT1 = 232;
Gast #2738398
Hi

>Sollte eigendlich beides 0 sein.
>Löst aber nicht mein Problem.

Klar. Zuweisungen an diese Stelle sind sinnlos.

>Das Piepsen fängt sofort nach dem Reset an, also
>vermutlich ist in meiner main.c schon am Anfang bei der init der Timer
>was faul.

Du lässt beide Timer loslaufen.

>Noch eine Info: Der "Piepser" hat eine Frequenz von 5,5kHz.
>Und der ATmega wird mit einem 20MHz Quarz betrieben.

Wie gross ist SAMPLERATE?

MfG Spess
#2738487
Sven schrieb:
>
>   ICR1   = (F_CPU/SAMPLERATE);
>
>   TCCR1A = (1<<COM1A1) | (1<<COM1B1) | (1<<WGM11);
>   TCCR1B = (1<<WGM12) |(1<<WGM13) | (1<<CS10);

Datenblatt:
The ICR1 Register can only be written when using a Waveform Generation 
mode that utilizes the ICR1 Register for defining the counter’s TOP 
value.

In these cases the Waveform Generaion mode (WGM13:0) bits must be set 
before the TOP value can be written to the ICR1 Register.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.