Beispielprogramm läuft nicht, aber ich erkenne nicht warum

Gast #274803
Lesenswert?
• ▲
▼
Hallo zusammen,

ich habe hier ein Demoprogramm von
http://kreatives-chaos.com/index.php?seite=c_t1_pwm kopiert und in
meinen AVR-Studio geladen.

Dann habe ich mir das Programm angeschaut, um es zu verstehen.

Das meiste verstehe ich nun, aber was ich nicht verstehe ist, warum die
LED nun nicht leuchtet.

Ich habe diese an OC1A angelötet, aber es tut sich nichts.

Nun meine Fragen:
Im Simulator läuft das Programm ab; wenn der Timer1 auf 0xff steht,
dann geht PINB5 an.
Dann zählt der Zähler zurück und ab 0x7f schaltet dann PINB6 auch auf
an. Ab dann geht nur noch PINB6 aus und an. PINB5 bleibt immer an.
Warum tut es das, eigentlich brauche ich für die Ansteuerung meiner LED
doch nur einen Pin und Masse.

Aber jetzt kommt das Hauptproblem/Hauptfrage:
Es wird PINB6 gesetzt, ABER NICHT PORTB6!!! Was bedeutet, meine LED
leuchtet nie.

Warum ist das denn so ??? Ich habe auch im Datenblatt nachgelesen, aber
werde daraus nicht schlauer.

Könnt ihr mir bitte sagen, warum das so ist und vor allem, wo ihr da
den rettenden Hinweis im Datenblatt findet (wenn möglich bitte mit
Seitenangabe), ich finde nämlich nichts oder weiss nicht, wo ich
schauen soll.

Danke im voraus und liebe Grüße

popi


HIER DER QUELLTEXT:



#include <avr/io.h>


/* Timer1 initialisieren */
void timer1_init(void);


int main(void)
{

  DDRB = 0xff;

  timer1_init(); /* Timer1 initialisieren */

  OCR1AL = 0xff;
  OCR1BL = 0x7f;
  while(1);
}


void timer1_init(void) /* Timer1 initialisieren */
{
  /* normale 8-bit PWM aktivieren ( nicht invertiert ),
     Das Bit WGM10 wird im Datenblatt auch als PWM10 bezeichnet */
  TCCR1A = (1<<COM1A1)|(1<<COM1B1)|(1<<WGM10);

  /* Einstellen der PWM-Frequenz auf 14 kHz ( Prescaler = 1 ) */
  TCCR1B = (1<<CS10);

  /* Interrupts für Timer1 deaktivieren
  Achtung : Auch die Interrupts für die anderen Timer stehen in diesem
Register */
  TIMSK &= ~0x3c;
}

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.