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