SPI: zwischen 2 ICs switchen

Gast #1449631
Hi,

arbeite gerade mit einem SAM7: an SPI1_CS0 und CS1 sitzen zwei 
verschiedene ICs. Einzeln funktionieren beide einwandfrei, aber wenn ich 
versuch beide zu initialisieren dann funktioniert keiner von beiden... 
Ich glaub dass vielleicht das springen zwischen dem ein und dem anderen 
IC nicht ganz stimt.

Hier mal meine Initialisierung am Anfang für beide ICs (SPI):
1
AT91F_SPI1_CfgPIO();
2
AT91F_SPI1_CfgPMC(); 
3
AT91F_SPI_Disable(AT91C_BASE_SPI1); 
4
AT91F_SPI_Reset(AT91C_BASE_SPI1); 
5
AT91F_SPI_Reset(AT91C_BASE_SPI1); 
6

7
//Configure SPI0 in Master Mode with No CS selected 
8
AT91F_SPI_CfgMode(AT91C_BASE_SPI1, AT91C_SPI_MSTR | AT91C_SPI_MODFDIS | SPI_PCS(BOARD_TSC_NPCS)); 
9

10
// Configure CSx   
11
AT91C_BASE_SPI1->SPI_CSR[CS_INDEX] =(AT91C_SPI_NCPHA |
12
                               (AT91C_SPI_DLYBS & DELAY_BEFORE_SPCK) | 
13
                              (AT91C_SPI_DLYBCT &DELAY_BETWEEN_CONS_COM) | 
14
            (0xC8 << 8));
15

16
// Configure CSx  
17
AT91C_BASE_SPI1->SPI_CSR[1] =(AT91C_SPI_NCPHA |
18
                         (AT91C_SPI_DLYBS & DELAY_BEFORE_SPCK) | 
19
                        (AT91C_SPI_DLYBCT & DELAY_BETWEEN_CONS_COM) | 
20
      (0xC8 << 8));
21

22
//enable spi 
23
AT91C_BASE_SPI1->SPI_CR     = AT91C_SPI_SPIEN;


Beim switchen von einem auf den anderen IC beschreibe ich bis jetzt 
lediglich das Mode Register:
1
AT91C_BASE_SPI1->SPI_MR = 0x00; 
2
AT91F_SPI_CfgMode(AT91C_BASE_SPI1, AT91C_SPI_MSTR | AT91C_SPI_MODFDIS | SPI_PCS(select));


Weiß jmd. was ich noch beachten muss bzw. welche Veränderungen ich noch 
durchführen muss?

Gruß
Carsten
#1450199
K.A. was jetzt SAM7 ist, oder was das für 2 verschiedene IC sind, aber 
ein Blick in meine Glaskugel sagt mir, du schaltest die CS-Signale zu 
einem Zeitpunkt, an dem es nicht gemacht werden darf. Das solltest du 
schon selbst herausfinden, lesen der Datenblätter kann helfen. ;-)

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.