-         

Ergebnis 1 bis 5 von 5

Thema: ATtiny44 ADC will nicht

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    20.05.2006
    Ort
    @ Home
    Alter
    29
    Beiträge
    270

    ATtiny44 ADC will nicht

    Anzeige

    Tach

    Ich hab gerade folgendes Problem: ich will einfach ne Spannung am ADC1 messen. doch irgendwie misst er immer 1023, auch wenn ich den pin auf GND lege und mein messgerät auch 0V anzeigt.

    hier mein code:

    Code:
    
          $crystal = 20000000
          $regfile = "attiny44.dat"
    
    Config Pina.3 = Output
    Config Pina.1 = Input
    
    Dim Temp As Word
    
    
    Open "coma.3:9600,8,n,1" For Output As #1
    
    Print #1 , "UART gestartet"
    
    
    Config Adc = Single , Prescaler = Auto
    
    Start Adc
    
    
    
    Do
    
    Temp = Getadc(1)
    
    Print #1 , Temp
    Print #1 , ""
    
    Wait 1
    
    Loop
    Der Software UART tut problemlos. nur die spannung wird nich erkannt, bzw. ist permanent auf dem wert 1023 (also 5V)

    MfG

    Schoko

    P.S.: Ich weiss, wer misst misst mist
    Warum bekommen Vegetarier immer eine Extrawurst?

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Alter
    48
    Beiträge
    2.731
    Hallo,

    ich hab mir das Ergebnis der Compilierung von Bascom mal in Assembler angeschaut, und ich würde sagen, da hat sich der Bascomcompiler in der Register-Adresse vertran:
    Code:
    +00000052:   91800006    LDS     R24,0x0006       sollte wohl ADCSRA werden, mit LDS wird das aber nix !
    +00000054:   6C80        ORI     R24,0xC0         Logical OR with immediate
    +00000055:   93800026    STS     0x0026,R24       hier stimmt die Adresse, aber die Daten sind schon falsch !
    +00000057:   91800006    LDS     R24,0x0006       hier sollte gewartet werden, bis der ADC fertig ist, aber die Adresse stimmt nicht !
    +00000059:   FD86        SBRC    R24,6            Skip if bit in register cleared
    +0000005A:   CFFC        RJMP    PC-0x0003        Relative jump
    
    +0000005B:   B184        IN      R24,0x04         In from I/O location
    +0000005C:   B195        IN      R25,0x05         In from I/O location
    +0000005D:   9508        RET                      Subroutine return
    Das habe ich mit der 1.11.8.8 compiliert !
    Welche Version hast Du ?
    Dann werden wir das an den Mark weiterleiten dürfen !

    Da Problem ist auch beim Tiny24 und 84 !

    Das hilft Dir jetzt zwar nicht weiter, aber einen Bug hast Du entdeckt

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    20.05.2006
    Ort
    @ Home
    Alter
    29
    Beiträge
    270
    tolle wurst.... krieg ich jetzt nen eis?

    also ich verwende 1.11.8.7 DEMO (is die neueste, oder?)

    hoffentlich behebt mark den fehler bald.... sonst wird das nis mit dem US-entfernungsmesser

    MfG

    Schoko
    Warum bekommen Vegetarier immer eine Extrawurst?

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Alter
    48
    Beiträge
    2.731
    Bis zur nächsten Demo wirds wieder etwas dauern, muss erst die nächste Full raus in der das behoben ist.

    Du könntest Dir eine eigene GetADC bauen, bis das offiziell repariert ist, den Code hast Du ja oben, sind nur ein paar Zeilen.
    Es kommt nur die Auswahl des ADC-Kanals dazu, das wird ausserhalb der funktion gemacht.

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    10.06.2005
    Ort
    Buchbrunn
    Alter
    28
    Beiträge
    68
    Hallo,

    scheinbar hat der Tiny44 in Bascom noch so einige Bugs, neulich hab ich festgestellt das das eine Register vom Timer1 nicht stimmt.

    Das hab ich dann in der .dat Datei in Bascom geändert seit dem gehts (Vorher lieber ne Sicherungskopie von der Datei machen).
    Einfach die passende Registeradresse ausm Datenblatt nehmen und in der .dat Datei ändern

    Gruß

    Wolfgang

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •