ghostbuster1989 schrieb:
> Ich möchte also gerne eine Frequenz reingeben und diese dann messen.
Wenn ich dir einen Vorschlag machen darf.
Stell diese Aufgabenstellung erst mal zurück.
Da du noch nie mit dem ADC gearbeitet hast, fang erst mal damit an, dich
damit vertraut zu machen. Dazu ist aber eine Frequenz kontraproduktiv.
Schalte an deinen PA0 diese Schaltung drann
1 | +5V +-------+
|
2 | |
|
3 | |
|
4 | +-+ Poti, 10k
|
5 | | |
|
6 | <---------------------+ PA0
|
7 | | |
|
8 | +-+
|
9 | |
|
10 | GND +--------+------------------- GND
|
und sieh zu, dass du vom ADC die Spannungswerte korrekt bekommst.
Vorteil, da ändert sich erst mal nichts. DIe SPannung, die du mit dem
Poti als Spannungsteiler einstellst, die bleibt auch stundenlang
konstant, solange du nicht am Poti drehst und du hast alle Zeit der Welt
dein Programm mit reproduzierbaren Eingangswerten zu schreiben bzw. in
Betrieb zu nehmen.
WEnn du das soweit hast, dann kannst du dich um deine Wechselspannung
kümmern und darum, wie du aus den sich laufend verändernden Werten die
Frequenz rausrechnest. Das gute daran: Da du deinen ADC schon in Betrieb
hast und auch ein wenig Erfahrung damit gesammelt hast, weisst du, dass
deine ADC Werte korrekt sind. Wenn also dein Freuquenergebnis nicht
stimmt (und das wird es sehr wahrscheinlich auf Anhieb nicht tun), dann
weisst du zumindest schon mal, dass es nicht am ADC liegt.
> Zum Messen möchte ich meine 8 LED's nutzen, da ich keine LCD Anzeige
> habe
Das ist keine so gute Idee.
Ich meine, man kann das natürlich schon machen. Aber gerade als Anfänger
ist es eine enorm grosse Hilfe, wenn du irgendwo eine Ausgabe hast, in
der du dir auch ein paar Angaben ausgeben lassen kannst. Man kann
natürlich sich mit LED behelfen, aber ein LCD auf dem steht:
1 | akt: 426 vorher: 429
|
2 | errechn: 32Hz
|
3 | ISR wurde betreten
|
ist dann doch etwas ganz anderes, als einfach nur 8 LED, von denen man
selbst bei Zahlenwerten erst mal im Kopf Binär auf Dezimal umrechnen
muss.
Von daher: Ehe du mit dem ADC loslegst, wäre ein LCD nicht verkehrt.
Deine Debugmöglichkeiten vervielfachen sich damit auf einen Schlag. Das
solltest du als ein mögliches nächstes Projekt mal ins Auge fassen.
> Nun habe ich 9x Error - undeclared function - wie delcare ich die ganzen
> Funktionen (ADMUX,ADCSRA etc.)
Die brauchst du nicht deklarieren.
Diese Register hast du automatisch, wenn du <avr/io.h> inkludiert hast