Hallo zusammen,
ich versuche nun schon ne ganze Weile den ADC eines atiny15 zum laufen
zu bekommen. Dazu habe ich mir dieses minni Programm hier geschrieben:
1 | .include "tn15def.inc"
|
2 |
|
3 | .def temp = r16
|
4 |
|
5 | ;Port als Ausgang definieren
|
6 | ldi temp, 0xFF
|
7 | out DDRB, temp
|
8 |
|
9 | ;ADC einrichten
|
10 | ldi temp, (1 << REFS0 | 1 << REFS1 | 1 << ADLAR | 1 << MUX0)
|
11 | out ADMUX, temp
|
12 | ldi temp, (1 << ADEN | 1 << ADPS2)
|
13 | out ADCSR, temp
|
14 |
|
15 |
|
16 | ;PWM Timer starten
|
17 | ldi temp, (1 << PWM1 | 1 << COM1A1 | 1 << CS12 | 1 << CS10)
|
18 | out TCCR1, temp
|
19 |
|
20 | ;ADC wert auslesen und in Compareregister schreiben
|
21 | auslesen:
|
22 |
|
23 | sbi ADCSR, ADSC
|
24 |
|
25 | wait_adc:
|
26 | sbic ADCSR, ADSC
|
27 | rjmp wait_adc
|
28 |
|
29 | in temp, ADCH
|
30 | out OCR1A, temp
|
31 | rjmp auslesen
|
32 |
|
33 | loop:
|
34 | rjmp loop
|
Ähnlich hatte ich dies schon auf einem atmega8 am laufen, da hats ohne
Probleme funktioniert. Nur jetzt stelle ich folgendes fest:
Ich habe einen Poti an PB2 angeschlossen. Sobald der Poti mit PB2
verbunden ist, fällt die spannung am Schleifer auf 0.11V ab, egal welche
Stellung der Poti hat. Ist er nicht angeschlossen werkelt er korrekt.
Was mach ich hier falsch?
Toni