Daten, Array und SPI

  • 1
  • 2
  • 3
  • Page 1 of 3
Harry
Moderator
Avatar
Gender:
Location: zwischen Augsburg und Ulm
Age: 59
Posts: 2134
Registered: 03 / 2003
Subject:

Daten, Array und SPI

 · 
Posted: 17.01.2016 - 14:00  ·  #1
Hallo @ all,

der Titel ist vielleicht etwss dämlich, aber ein besserer fällt mir nicht ein :D

Angenommen ich definiere ein Array mit:

Data : Array[0..2,0..3] of Byte;

und die Werte sind:
Data[0]=255,0,1,2
Data[1]=255,3,4,5
Data[2]=255,6,7,8

und sende das mit
SPIOut1(@Data,12)

In welcher Reihenfolge kommt das aus dem SPI raus bzw. wie muß das aussehen, daß am SPI folgende Reihenfolge gesendet wird?
255,0,1,2,255,3,4,5,255,6,7,8

Gruss
Harry
Harry
Moderator
Avatar
Gender:
Location: zwischen Augsburg und Ulm
Age: 59
Posts: 2134
Registered: 03 / 2003
Subject:

Re: Daten, Array und SPI

 · 
Posted: 17.01.2016 - 15:42  ·  #2
Ich schieb jetzt die Daten einzeln in einer Schleife raus und dann funktioniert es. Würde mich aber trotzdem interessieren, wie das mit dem Pointer funktioniert.

Schönen Sonntag noch
Harry
Harald_K
 
Avatar
 
Subject:

Re: Daten, Array und SPI

 · 
Posted: 17.01.2016 - 16:22  ·  #3
also wenn du das so deklarierst:

const
Data : Array[0..2,0..3] of Byte =((255,0,1,2),(255,3,4,5),(255,6,7,8));


dann steht das so im Speicher:
; ============ array-constant tables ============
.SYM xxx.Data
xxx.Data:
.BYTE 0FFh
.BYTE 000h
.BYTE 001h
.BYTE 002h
.BYTE 0FFh
.BYTE 003h
.BYTE 004h
.BYTE 005h
.BYTE 0FFh
.BYTE 006h
.BYTE 007h
.BYTE 008h

jetzt nehme ich mal an, daß es der SPI-Treiber dann auch genausorum rausschiebt ...
Harry
Moderator
Avatar
Gender:
Location: zwischen Augsburg und Ulm
Age: 59
Posts: 2134
Registered: 03 / 2003
Subject:

Re: Daten, Array und SPI

 · 
Posted: 17.01.2016 - 16:31  ·  #4
Hi Harald,

so hab ich es auch versucht, aber es ging nicht. SPIOut1(@Data,12) hat nicht funktioniert.
Erst mit zwei verschachtelten Schleifen und SPIOutByte1(Data[Var1,Var2]) ging es.

Gruss
Harry
rh
Administrator
Avatar
Gender:
Location: Germany
Age: 24
Homepage: e-lab.de
Posts: 5558
Registered: 03 / 2002
Subject:

Re: Daten, Array und SPI

 · 
Posted: 17.01.2016 - 17:30  ·  #5
Hallo Harry,

zeige mal den ASM Code für "SPIOut1(@Data,12)"
ist das Array eine Konstante ???

rolf
Harry
Moderator
Avatar
Gender:
Location: zwischen Augsburg und Ulm
Age: 59
Posts: 2134
Registered: 03 / 2003
Subject:

Re: Daten, Array und SPI

 · 
Posted: 17.01.2016 - 20:31  ·  #6
Hi Rolf,

heute nicht mehr .... wenn ich wieder am PC bin.
Nein das ist keine Konstante. Das Array (of Byte) wird zur Laufzeit immer wieder verändert.

Achja: Wie schnell ist der SoftSPI-Takt bei 20MHz Controllerfrequenz? Kommen grob 1.25MHz hin? Ich hab das was von 1/16 Takt im Kopf.

Gruss
Harry

Falls es jemand interessiert: Ich habe versucht einen LED-Stripe mit 5m/180 LEDs zum Leben zu erwecken. Und es funktioniert :). LED-Typ APA102. Das Protokoll sieht wie folgt aus:
Start: 32 Bit 0 ($00000000)
je LED $FF + 8 Bit blauwert + 8 Bit grünwert + 8 Bit rotwert
Stop: 32 Bit 1 ($FFFFFFFF)
d.h. bei 180 LEDs sind das 4+(180*4)+4=728 Byte

Und ja: Jede LED kann eine andere Farbe haben. Funktioniert wie ein riesen Schieberegister.
miparo
Administrator
Avatar
Gender:
Location: Germany
Age: 58
Posts: 959
Registered: 09 / 2007
Subject:

Re: Daten, Array und SPI

 · 
Posted: 17.01.2016 - 21:46  ·  #7
Hi Harry,
habe es gerade mal getestet und SPIout1 beackert den SS nicht. Mause Tot.
Bug ?

CLK sind übrigens 888 Hz.

Gruß
miparo
Harry
Moderator
Avatar
Gender:
Location: zwischen Augsburg und Ulm
Age: 59
Posts: 2134
Registered: 03 / 2003
Subject:

Re: Daten, Array und SPI

 · 
Posted: 17.01.2016 - 21:54  ·  #8
Hi miparo,

der SS wäre mir egal, da die LEDs nur von SCK und MOSI leben, oder sind die auch tod?

Wieso nur 888Hz??? Mega644 @ 20MHz ..... nix XMega ;)

Gruss
Harry
  • 1
  • 2
  • 3
  • Page 1 of 3
Selected quotes for multi-quoting:   0

Registered users in this topic

Currently no registered users in this section

The statistic shows who was online during the last 5 minutes. Updated every 90 seconds.
MySQL Queries: 15 · Cache Hits: 14   134   148 · Page-Gen-Time: 0.032155s · Memory Usage: 2 MB · GZIP: on · Viewport: SMXL-HiDPI