www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik USI (Tiny2313) mit Timer0


Autor: Henne (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin zusammen,

leider habe ich zZ. ein Problem mit dem USI eines TINY2313: Ich wollte
nur mal schnell eine funktionierende Routine von SPI auf USI portieren
- und nun kann ich laut Simulator das Ding nicht takten...

Was möchte ich:
USI als SPI-master mit IRQ, wenn Byte fertig übertragen. Clock-Source
soll der T0-Overflow sein. Sprache ist Assembler.

mein Code:
; PortB
  ldi  TempA, 0b10010000  ; DAC Pins, BCD in
  out  DDRB, TempA
  ldi  TempA, 0b11110000
  out  PortB, TempA
; Timers
  ldi  TempA, 0b00000001  ;set counter0 @clock freq.
  out  TCCR0B, TempA
  ldi   TempA, 0b00000011  ;set counter1 @clock/1024 frequency
  out   TCCR1B, TempA
  ldi   TempA, 0b10000000  ;aktivate overflow interrupts
  out   TIMSK, TempA
  clr   TempA        ;clear interrupt flags
  out   TIFR, TempA

; USI
  ldi  TempA, (1<<USIOIE)|(1<<USIWM0)|(1<<USICS0);|(1<<USICLK)  ;enable
USI as SPI master, LO idle
  out  USICR, TempA
  ldi  SPI_state, 0

Den Code habe ich mit Hilfe des gerade aktuellen Datasheets erstellt
(wechselt ja wöchentlich...).
Getestet habe ich nur im AVRStudio (Build:472) - dort verhält sich aber
die ganze MCU ziemlich eigenartig: zB. lässt sich T0 vom Ändern des
Prescalers während der Simu (also nicht im Code) nicht beeindrucken...

Hat Irgendjemand von Euch eine Idee, wo ein Fehler sein könnte (bzw.
habe ich überhaupt einen gemacht oder ist die IDE etwas buggy?)

Viele Grüße, Hendrik

ach ja: div. ANs habe ich auch schon gewältzt (wobei dort auch schon
vom T0-CompIRQ geschrieben wurde...) Das Problem besteht unabh. von
aktivierten T0-Interrupts.

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Release Notes vom Studio: "Simulation of TWI, USI and analog peripheral
is not yet implemented."

Autor: Henne (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke!! - ich wurde schon langsam gaga g

Grüße, Hendrik

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.