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.
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
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.
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.
ein blick ins datenblatt kann wunder bewirken ;)
1 | PLLCSR = (1<<PLLE); |
2 | while(! PLLCSR&(1<<PLOCK)); |
3 | PLLCSR |= (1<<PCKE); |
wäre ne möglichkeit
ramius schrieb:
1 | PLLCSR = (1<<PLLE); |
2 | while(! PLLCSR&(1<<PLOCK)); |
3 | PLLCSR |= (1<<PCKE); |
>wäre ne möglichkeit Danke, du bist ein Schatz. > ein blick ins datenblatt kann wunder bewirken ;) Beitrag "Problem mit IL300 Analog-Optokoppler" seufz...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.