AD-Wandler-Problem beim ATTiny26

Gast #28140
Lesenswert?

Hallo!
Habe ein doofes Problem mit meinen 3 ATTiny26. Seit einem Tag versuche 
ich nun eine AD-Wandlung hinzubekommen, aber irgendwie schaffe ich es 
nicht. Ich habe schon verschiedene Tinys, versch. Takte (intern und 
extern) und Prescaler und AD-Eingänge versucht. Benutze das STK500. Bin 
nun ziemlich ratlos und habe Angst das es an etwas ganz trivialen 
liegt...

Hier mein Quelltext:

.include "tn26def.inc"

.def  temp = r16

.org 0x000
rjmp  RESET
.org 0x001
reti
.org 0x002
reti
.org 0x003
reti
.org 0x004
reti
.org 0x005
reti
.org 0x006
reti
.org 0x007
reti
.org 0x008
reti
.org 0x009
reti
.org 0x00A
reti
.org 0x00B
reti
.org 0x00C

RESET:
  ldi  temp,RAMEND
     out  SP,temp

  ldi  temp,0b11111111
  out  DDRA,temp
  ldi  temp,0b00000000
  out  DDRB,temp

  ldi   temp, ((1<<ADEN)|(1<<ADSC)|(1<<ADFR)) + 0b00000101
  out  ADCSR, temp
  ldi  temp, ((1<<ADLAR))+6
  out  ADMUX, temp
MainLoop:
  in    temp,ADCH
  out    PortA,temp
  clr    temp
Loop:
  rcall  Wait_0625ms
  dec  temp
  brne  Loop
  rjmp  MainLoop

Wait_0625ms:
  push  r16
  ldi    r16,61
Wait_0625ms_Loop:
  nop
  nop
  nop
  nop
  nop
  nop
  nop
  dec    r16
  brne  Wait_0625ms_Loop
  nop
  nop
  nop
  nop
  pop    r16
  ret


Vielen Dank!
Robert Budde
Gast #28141
Lesenswert?

Hab noch vergessen: Die AD-Wandlung funktioniert überhaupt nicht. D.h. 
die Wandlung ist nicht ungenau oder so, sondern ich kriege beim Lesen 
des ADH (brauche nur 8 bit) entweder 0 oder zufällige Werte zurück, die 
sich aber nicht ändern. D.h. bei einem Eingang krieg ich immer 0, beim 
nächsten 62 usw.

Danke!
Robert
Gast #28142
Lesenswert?

Bitte entschuldigt das ich hier so nen Monolog schreibe, aber ich 
versuche alle Details zusammenzutragen damit mir hoffentlich jemand 
helfen kann: Habe alle drei Tinys noch mal durchprobiert: Wenn ich den 
oben geposteten Quellcode nutze bekomme ich bei jedem Baustein 
identische (falsche, nicht veränderliche) Werte zurück: 00010100. Habe 
die Negierung des STKs schon beachtet. Also können ja eigentlich nicht 
alle Wandler defekt sein!? Ich wäre demjenigen der mir nen Quelltext für 
nen ATTiny26 mit funktionierendem ADC hinwirft sehr dankbar!

Gruß
Robert
Gast #28144
Lesenswert?

Hi!

Jo, AVCC hab ich angeschlossen (bzw. das STK 500, hab nachgemessen). Hab 
den Fehler allerdings heute morgen durch komplettes Neuverkabeln und 
-überlegen gefunden: Hab irgendwie PortA mit PortB bzgl. der 
Nummerierung der ADCs vertauscht und dadurch immer den falschen Port 
gemessen. :-/
An sich finde ich den Tiny 26 auf extrem gut, hat die Power von nem 
alten 2313 zusammen mit bis zu 11 ADC. Gerade die Differentielle Messung 
find ich goil.

Gruß
Robert

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren