-
        

Ergebnis 1 bis 6 von 6

Thema: Tiny2313: Timer0-Register

  1. #1
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2007
    Ort
    Göttingen
    Beiträge
    705

    Tiny2313: Timer0-Register

    Anzeige

    Ich scheitere gerade daran, einen Tiny2313 mittels direktem Zugriff auf die Timer0-Register in einen CTC-Modus zu bringen. Bei anderen Controllern hat das problemlos geklappt - aber Bascom (1.11.8.8, Vollversion) versteht die Register irgendwie nicht. Bei diesem Code

    Code:
    $regfile = "2313def.dat"
    $crystal = 4096000
    
    Tccr0a = &B01000010
    Tccr0b = &B00000010
    
    Ddrb.2 = 1
    
    Ocr0a = 128
    
    Do
    
    Loop
    kommt folgende Fehlermeldung:

    Error: 46 Line: 4 Assignment error [TCCR0A: 0 &B01000010: 112]
    Error: 46 Line: 5 Assignment error [TCCR0B: 0 &B00000010: 112]

    Wie kann es denn sein, dass Bascom mit einem einfachen Registerzugriff Probleme hat? Bin für jeden Tip dankbar!

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    12.01.2007
    Ort
    westliches Pannonien
    Beiträge
    123
    Hallo!

    Kanns nicht nachprüfen, da ich in der Arbeit bin, aber das
    müsste doch "attiny2313def.dat" lauten.

    MfG
    Rone

  3. #3
    Erfahrener Benutzer Roboter Genie Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.410
    Blog-Einträge
    101
    Zitat Zitat von Rone
    Kanns nicht nachprüfen, da ich in der Arbeit bin, aber das
    müsste doch "attiny2313def.dat" lauten.
    Stimmt fast. Hab es getestet und es sollte "attiny2313.dat" heißen. Damit compiliert es in der Demo Version 1.11.9.8

    Gruß
    Searcher
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2007
    Ort
    Göttingen
    Beiträge
    705
    So - nach einer langen Nacht bin ich etwas schlauer: Für der 2313 gibt es zwei (!) Def-Dateien: Eine heißt 2313DEF.DAT, und die andere ATTiny2313.DAT. Wenigstens in meiner Bascom-Version...

    Und die erstere ist ziemlich lückenhaft: Wenn man sie sich im Editor ansieht, fehlt so einiges an Registern, was beim Kompilieren folglich nicht erkannt wird. Wenn man sie manuell dazuschreibt, wird´s besser - auch wenn es ein etwas mulmiges Gefühl ist, so weit im Tiefen herumzufrickeln...

    Mit der zweiten werden wenigstens die Timer0-Register problemlos akzeptiert. Mal sehen, ob ich beim Schreiben auch hier Lücken entdecke...

    Scheinbar ist der 2313 so ´ne Art Stiefkind.

  5. #5
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Vom 2313 gibt es 2 Vervsionen. Früher gab es die 90AT2313, damals schon relativ beliebt und gut unterstützt. Als Ersatz kam dann der Tiny2313. Der Tiny 2313 ist weitgehend aufwärtskompatibel , es haben sich bei der Umstellung aber viele der offiziellen Registernahmen geändert.

    Die beiden Definitionsfiles sind also für verschiedene Chips, die aber weitgehend binärkompatibel sind. Die Chancen sind also groß dass ein Programm auch mit den anderen Chip funktioniert. Spätestens beim Programmer sollte aber auffallen das die Chip ID nicht stimmt.

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2007
    Ort
    Göttingen
    Beiträge
    705
    Okay - das erklärt natürlich so einiges!!

    Und ich dachte, dass "2313" schon stimmen wird, als Bascom mir das bei der Eingabe der ersten Zeile angeboten hat. Und mein Programmer (der AVR ISP mkII) kennt nur den Tiny2313, so dass es hier keine Meldung von wegen falschem Chip gab...

    Mit der DEF.DAT vom Tiny2313 läuft alles auch einwandfrei!

Berechtigungen

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