PWM ausgeben

Gast #1673783
Lesenswert?
• ▲
▼
Hallo,
ich habe einen ATtiny25 und möchte eine PWM aus einer Tabelle ausgeben 
und das etwas filtern und so einen Analog-Wert ausgeben.
Wenn der Zähler mit 64MHz läuft, würde ich eine PWM Frequenz von
64MHz/256 = 250 kHz erwarten.
Meine Tabelle ist 250 Werte lang und so könnte ich mein Signal mit 1kHz 
ausgeben.

Hat jemand ein paar Code-Schnipsel für mich, wie ich das machen kann.
#1673785
Lesenswert?
• ▲
▼
Wie weit kommst du alleine?

Du postest jetzt schon lange genug, um mitbekommen zu haben, dass hier 
nur sehr selten komplette Programme angeboten werden. Und wenn, dann 
auch nur dann, wenn sich im Tutorial gar nichts zu diesem Thema findet. 
Die allgemeine Regell lautet: Du zeigst was du hast, sagst wo du 
Probleme hast und jemand hilft beim nächsten Schritt.

Zudem ist das Thema 'Funktionsgenerator' ja nicht unbedingt ein Seltenes 
hier im Forum. Deine Stichworte sind zb DDS
Gast #1674059
Lesenswert?
• ▲
▼
Karl heinz Buchegger schrieb:
> Du zeigst was du hast, sagst wo du
> Probleme hast und jemand hilft beim nächsten Schritt.

Also, ich habe eine Timerinterruptroutine wie z.B.
1
void interrupt_init(void)
2
{
3
   TCCR1 = 0b00001110;     // Prescaler = CK / 8192
4
   TIMSK |= (1 << TOIE1);  // Timer1 Overflow Interrupt Enable
5
   sei();                  // Enable Interrrupt
6
}
7
//*************************************************************
8
ISR(TIMER1_OVF_vect)
9
{
10
    static unsigned char n;
11
    x =  pgm_read_byte(&(My_weird_function[n++]));
12
    if(n >= 250) n=0;
13
}

Was mir jetzt fehlt ist, wie ich den PWM-Timer auf 64MHz bekomme und 
dann immer nach 256 Takt-impulsen einen Interrupt, damit ich einen neuen 
Wert aus der Tabelle holen kann.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 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.