www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik SPI Master über USI


Autor: Meik Dittmann (meik)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo µC Gemeinde.
Ich unternehme gerade erste Gehversuche mit AVR und Bascom. Kenntnisse 
habe ich bisher eigentlich nur mit PIC's. Nun zum Problem: Ich versuche 
die Funktionsweise des USI Controllers in einem Attiny2313 zu verstehen. 
Dazu möchte ich einen DAC ansteuern. Mit dem Bascom eigenen Soft-SPI 
geht das auch wunderbar. Zum Verständnis wollte ich die Register mal von 
Hand befeuern:

$regfile = "ATTiny2313.dat"

$crystal = 8000000
$hwstack = 32
$swstack = 10
$framesize = 40

Dim A As Word
Config PORTB = Output

A = &B0100_0000_0000_0000

Do
PORTB.3 = 0
Usidr = High(A)
Usisr = 0
Usicr = &B0001_1001
Usicr = &B0001_1011
Usicr = &B0001_1001
Usicr = &B0001_1011
Usicr = &B0001_1001
Usicr = &B0001_1011
Usicr = &B0001_1001
Usicr = &B0001_1011
Usicr = &B0001_1001
Usicr = &B0001_1011
Usicr = &B0001_1001
Usicr = &B0001_1011
Usicr = &B0001_1001
Usicr = &B0001_1011
Usicr = &B0001_1001
Usicr = &B0001_1011
Usidr = Low(A)
usisr = 0
Usicr = &B0001_1001
Usicr = &B0001_1011
Usicr = &B0001_1001
Usicr = &B0001_1011
Usicr = &B0001_1001
Usicr = &B0001_1011
Usicr = &B0001_1001
Usicr = &B0001_1011
Usicr = &B0001_1001
Usicr = &B0001_1011
Usicr = &B0001_1001
Usicr = &B0001_1011
Usicr = &B0001_1001
Usicr = &B0001_1011
Usicr = &B0001_1001
Usicr = &B0001_1011
PORTB.3 = 1
If A = &B0101_1111_1111_1111 Then A = &B0100_0000_0000_0000
Incr A
Loop

Was funktioniert ist der CS (Portb.3) und das Toggeln der CLK Leitung. 
Die MOSI Leitung bleibt allerdings auf Low. Wo hängts da noch?

Autor: Meik Dittmann (meik)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe mir die Frage soeben selbst beantworten können. Bei dem Chip 
ist die MOSI Leitung (Master out!) im "HW-SPI" Modus die DI (Data in) 
Leitung und die MISO die DO Leitung. Haben die Jungs von AVR da in der 
Entwicklung die falschen Zigaretten geraucht oder hat das Ganze einen 
Sinn, den ich nicht verstehe.

Gruß Meik

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.