SoftSPI kein Signal

  • 1
  • 2
  • 3
  • Seite 2 von 3
rh
Administrator
Avatar
Geschlecht:
Herkunft: Germany
Alter: 26
Homepage: e-lab.de
Beiträge: 5558
Dabei seit: 03 / 2002
Betreff:

Re: SoftSPI kein Signal

 · 
Gepostet: 14.12.2017 - 19:16 Uhr  ·  #9
Hallo Harry
zuerst wird das Bit ausgegeben dann der clock Puls
$AA ergibt bei msb zuerst eine 1 und
bei lsb zuerst eine 0.
rolf
golf
Benutzer
Avatar
Geschlecht:
Herkunft: Donauwörth
Alter: 72
Beiträge: 266
Dabei seit: 11 / 2009
Betreff:

Re: SoftSPI kein Signal

 · 
Gepostet: 18.12.2017 - 06:42 Uhr  ·  #10
Die Procedure SPIout1 (source : pointer; count : word) funktioniert bei mir auch nicht.

All,
das muss ich korrigieren.
Wenn ich z.b. ein Array zur Laufzeit beschreibe, dann funktioniert die Ausgabe mit SpiOut1(@WSData,3) oder SpiOut1(@WSdata,sizeof(WSdata) doch einwandfrei.
Auch die Ausgabe des Array als structconst aus dem Flash funktioniert einwandfrei.

golf
Merlin
Administrator
Avatar
Geschlecht:
Alter: 26
Beiträge: 1480
Dabei seit: 03 / 2005
Betreff:

Re: SoftSPI kein Signal

 · 
Gepostet: 18.12.2017 - 09:52 Uhr  ·  #11
@golf Surely a structconst is in RAM, not Flash?
golf
Benutzer
Avatar
Geschlecht:
Herkunft: Donauwörth
Alter: 72
Beiträge: 266
Dabei seit: 11 / 2009
Betreff:

Re: SoftSPI kein Signal

 · 
Gepostet: 18.12.2017 - 17:30 Uhr  ·  #12
Merlin
thanks, all ok.
golf
Harry
Moderator
Avatar
Geschlecht:
Herkunft: zwischen Augsburg und Ulm
Alter: 60
Beiträge: 2160
Dabei seit: 03 / 2003
Betreff:

Re: SoftSPI kein Signal

 · 
Gepostet: 18.12.2017 - 18:37 Uhr  ·  #13
Hi golf,

ich habs doch mitm Oszi kontrolliert und es kam nichts. Aber ich probier es nochmal aus.

Harry

... hab ich was verpennt? Darf das Array nicht im Flash als Konstante liegen?
rh
Administrator
Avatar
Geschlecht:
Herkunft: Germany
Alter: 26
Homepage: e-lab.de
Beiträge: 5558
Dabei seit: 03 / 2002
Betreff:

Re: SoftSPI kein Signal

 · 
Gepostet: 18.12.2017 - 19:35 Uhr  ·  #14
Hallo Harry,
nein, darf es nicht denn einem Pointer sieht man nicht an dass er
ins Flash zeigen soll. Wenn das array allerdings ein structconst ist,
dann liegt das array schlussendlich doch im RAM.

rolf
golf
Benutzer
Avatar
Geschlecht:
Herkunft: Donauwörth
Alter: 72
Beiträge: 266
Dabei seit: 11 / 2009
Betreff:

Re: SoftSPI kein Signal

 · 
Gepostet: 19.12.2017 - 08:10 Uhr  ·  #15
Hallo Harry,
ich hab mal nachgeschaut, wie ich das vor Jahren gemacht hab mit recht großen Arrays aus dem Flash. Das geht vielleicht auch viel einfacher, aber Hauptsache es funktionierte bei mir.

procedure SpiOutArray(SpiArray:Pointer; Size:word);
var
p:pointer;
begin
p:=SpiArray;
for w:= 1 to Size do
R:= Flashptr(p)^;
SPIOutByte1(R);
inc(p);
endfor;
p:=nil;
end;

die Ausgabe der Arrays dann mit:

SpiOutArray(@WSData,sizeof(WSData));

golf
miparo
Schreiberling
Avatar
Geschlecht:
Herkunft: Germany
Alter: 59
Beiträge: 991
Dabei seit: 09 / 2007
Betreff:

Re: SoftSPI kein Signal

 · 
Gepostet: 19.12.2017 - 09:47 Uhr  ·  #16
Moin Harry,
Code

  const
     WSData : Array[0..7] of Byte   = ($A1, $55,..);    // Flash const
  structconst
    WSDataR : Array[0..7] of Byte   = ($A1, $55,..);    // Flash const wird beim Start ins RAM kopiert
  //.....
    SpiOut1(@WSData,3) ;                  // hier zeigt der Pointer in das RAM was nicht funzt

    SpiOut1(FlashPtr(@WSData),3) ;   // hier zeigt der Pointer ins Flash aber "SPIOut1" ganz unten weiß da nichts mehr von und greift wieder auf das RAM zu

   SpiOut1(@WSDataR,3) ;                // das funzt aus dem RAM

   // oder so für größere RAM Blöcke
   procedure SPIout1Flash(pData: pointer; Count: byte); 
   var
     idx   : byte; 
   begin
    for idx:= Count downto 0 do 
      SPIout1(FlashPtr(pData)^); 
      Inc(pData); 
    endfor;  
   end;

   SpiOut1Flash(@WSData,3) ;  // das funzt

  // aus Flash herraus ist natürlich etwas langsamer spart aber RAM


  


miparo
  • 1
  • 2
  • 3
  • Seite 2 von 3
Gewählte Zitate für Mehrfachzitierung:   0

Registrierte in diesem Topic

Aktuell kein registrierter in diesem Bereich

Die Statistik zeigt, wer in den letzten 5 Minuten online war. Erneuerung alle 90 Sekunden.
MySQL Queries: 15 · Cache Hits: 14   139   153 · Page-Gen-Time: 0.023338s · Speichernutzung: 2 MB · GZIP: ein · Viewport: SMXL-HiDPI