Erbitte Hilfe bei Timer3 init auf Atmega128 (avr-gcc)

Gast #2338022
Lesenswert?
• ▲
▼
Hi!

Ich möchte an PinE5 eines Atmega128 einen Piezo-Schallwandler betreiben 
und dazu über Timer3 (OC3C) ein Rechtecksignal mit veränderbarer 
Frequenz ausgeben. Der Piezo hängt zwischen 5V und PinE3. An PinE3 hängt 
ein Oszilloskop.

 Hier mein Code zum Testen:
1
DDRE |= (1<<DDE5);
2

3
TCCR3A |= (1<<COM3C1);
4
  
5
TCCR3B |= (1<<WGM33);
6
TCCR3B |= (1<<WGM32);
7
TCCR3A |= (1<<WGM31);
8
TCCR3A |= (1<<WGM30);
9
  
10
//TCCR3B |= (1<<CS30);
11
//TCCR3B |= (1<<CS31);
12
TCCR3B |= (1<<CS32);
13
  
14
sei();
15
  
16
for (uint16_t i = 0; i<0xffff; i++) {
17
   OCR3C = i;
18
   _delay_ms(1);
19
}  }

Erwartet hätte ich jetzt, dass dort ein Rechtecksignal anliegt. 
Stattdessen messe ich einen high-Pegel (und höre beim Einschalten 
entsprechend nur ein "Plop". Was habe ich falsch gemacht?

Gruß,
Chris
#2338040
Lesenswert?
• ▲
▼
> TCCR3B |= (1<<WGM33);
> TCCR3B |= (1<<WGM32);
> TCCR3A |= (1<<WGM31);
> TCCR3A |= (1<<WGM30);


Wieso ein PWM Modus?

> for (uint16_t i = 0; i<0xffff; i++) {
>    OCR3C = i;

C? Wieso C?   Beim oben eingestellten Modus Fast-PWM sorgt OCR3A für die 
Veränderung des TOP Wertes und damit der PWM-Frequenz

Mit OCR3A veränderst du die Frequenz und OCR3C (wenn dein Schallwandler 
an diesem Ausgang hängt) muss dann die Hälfte von OCR3A haben, damit ein 
Rechteck entsteht.



Hä? Was hast du denn da bei den Com-Bits eingestellt?
Das ist ein Toggle von OCnA, also kommt dein Rechteck gar nicht an OC3C 
raus, sondern an OC3A


Also: vergiss OCR3C. Häng deine Tröte an OC3A und verändere das OCR3A 
Register.

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.