anfangs wollte ich noch erwähnen, dass ich das forum wirklich genial finde. ich würde gerne mit einem tiny 13 eine analoge spannung messen und dann auswerten bzw abhaengig vom wert, led's einschalten. soweit mir bekannt ist, kann man den adc mit studio vier nicht simulieren. für den atmega 8 habe ich eine wirklich gute beschreibung gefunden, aber für den tiny 13 nur mit pwm etc. aber ich hätte das ganze gerne noch einfacher für den anfang. habe ein listing im anhang und hätte gerne gewusst, ob es fehlerfrei ist bzw ob sich mein wert auch im 'adwert' befindet. könnte das bitte jemand überprüfen. gruss bernhard.
> habe ein listing im anhang und hätte gerne gewusst, ob es fehlerfrei ist
So richtig nicht...
1 | ; admux auf adc3 einstellen |
2 | ; referenz=ub, ergebnis links justieren adlar |
3 | ldi rmp,0b00100001 |
4 | out admux,rmp |
Schau nochmal im Datenblatt nach, ich vermute, Du aktivierst ADC1.
1 | ; staendiges lesen des ad wertes |
2 | loop: |
3 | in adwert, adch |
4 | rjmp loop |
Du musst dem ADC schon Zeit geben, die Wandlung durchzuführen. Dazu gibt es verschiedene Möglichkeiten. Im Free-Run-Mode kann man den ADC mittels Timer (der nebenher noch andere Dinge erledigt) auslesen. Bei Single-Conversion kann man mit Interrupt oder Busywait (Abfrage des Bits ADSC im Register ADCSRA) arbeiten. Letzteres geht auf 0, wenn der ADC fertig ist. Es geht natürlich auch mit einer Warteschleife, das ist allerdings eine Sackgasse, das rächt sich, wenn der Controller irgendwann mal etwas mehr tun soll. ...
danke an hannes lux, schaltung funktioniert. habe noch was passendes in avr-praxis forum gefunden. asm listing im anhang. gruss bernhard.
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.