Forum: Mikrocontroller und Digitale Elektronik Timer 1soll Timer 0 ansteuern


von halama (Gast)


Lesenswert?

Hallo zusammen,

Ich habe ein kleines selbstgebautes Board mit:
- Atmega 128
- ISP Schnittstelle
- und benutze AVR Studio, AVR-GCC und PonyProg.
- Verbindung steht (Fuses und Speicher können gelesen und beschrieben 
werden)

Und zusätzlich noch eine Mini-Oszilloskop Platine zum Prüfen der Pins 
für die Hardware

Ziel ist es den Timer 0 mit einer Grundfrequenz am OC0 (PB4)Pin 
auszuschleifen... Allerdings funktioniert das nur in der Simulation und 
nicht auf der Hardware. D.h. allein da hängts schon....hmpf

Die vom Timer 0 erzeugte Grundfrequenz soll in Folge über den Timer 1 
via Interrupts getaktet werden.

Datenblatt und Foren habe ich jetzt schon häufig durchgeklappert und 
bekomme keine Lösung zu meinem Problem?! Fehlermeldung für den Code von 
AVR Studio gleich zero.

Kann mir jemand da eventuell drüber gucken?! Ich wäre sehr dankbar.

Vielen herzlichen Dank im Vorraus

Martin
------------------------------------------------------------------------ 
------

#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/signal.h>

int boot_periphericals()
{
  DDRA  |= (1<<DDA0);
  PORTA |= (1<<DDA0);
}

void boot_timer0 ()                  // Timer 0 (8Bit)
{
  DDRB  |= (1<<DDB4);
  PORTB |= (1<<DDB4);
  TCNT0 =  0x8F;
  OCR0  =  0x8F;
  TIMSK |= (1<<TOIE0);
  SREG  |= (1<<SREG_I);
  TCCR0 |= (1<<COM00)|(1<<WGM01)|(1<<CS01);
}

/*void boot_timer1 ()                  // Timer 1 (16bit)
{
  DDRB |= (1<<DDB5);
  PORTB |= (1<<DDB5);
  OCR1AH =0xFF;
  OCR1AL =0x70;
  TCNT1H =0xFE;
  TCNT1L =0xE1;
  TIMSK |= (1<<TOIE1);
  TCCR1A = (1<<COM1A1)|(1<<COM1A0);
  TCCR1B = (1<<WGM12);
  TCCR1C = 0x00;
}*/

int main ()
{
  boot_periphericals();
  boot_timer0();
  boot_timer1();
  while (1)
  {
  }
}

von Karl heinz B. (kbucheg)


Lesenswert?

Was denkst du, warum dieses Forum 'Codesammlung' heist?

von Martin G. (halama)


Lesenswert?

Hallo KH,

ich Suche, wie bereits oben beschrieben, Hilfe zu einem Code.
Falls es in der Sparte Codesammlung nicht richtig gepostet ist, so 
kannst Du mir vielleicht schreiben wo es denn korrekt wäre!?

Vielen Dank.Grüße Martin

von Hubert.G (Gast)


Lesenswert?

Das ist aber nicht der ganze Code?

In der Codesammlung sollte nach Möglichkeit nur funktionierender Code 
stehen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.