USART SPI SAM4S

OP #4186607
Lesenswert?
• ▲
▼
Hallo,
ich habe mir mein USART SPI Programm geschrieben, dass auch funktioniert 
solange ich im internen Loopmode bin (Tx->rx verbunden) oder MISO und 
MOSI Pins miteinander verbinde. Sobald ich mein SPI Flash anschliesse, 
bekomme ich oft falsche Werte. Der Receiver wird bei einem CS auf low 
resettet.
Ich benutze ein SAM4s und ein S25FL216K. (USART im SPI Master Mode)
Weiss jemand, was man hier noch berücksichtigen muss?
Die Timeouts des Atmel habe ich deaktiviert.
Hier der Code für den Write/Read Vorhang!

USART1->US_CR = US_CR_FCS;  //select slave, set CS to 0
/*start communication with slave */
USART1->US_CR = US_CR_RXDIS;
USART1->US_CR = US_CR_RXEN;

size_t i=0;
while(length)
{
while (!(USART1->US_CSR & US_CSR_TXRDY)){}
USART1->US_THR = US_THR_TXCHR((tx_data[i]));
while (!(USART1->US_CSR & US_CSR_RXRDY)){}
rx_data[i] = USART1->US_RHR & US_RHR_RXCHR_Msk;
length--;
i++;
}
/*end communication with slave */
USART1->US_CR = US_CR_RCS;  //release slave, set CS to 1

Bin für jede Idee dankbar!
Gast #4186658
Lesenswert?
• ▲
▼
Hallo Patrik,

ich würde mal die Hardware überprüfen.
-Ist der Baustein richtig mit Spannung versorgt (Bei einem Loop wird ja 
keine zusätzliche Spannungsversorgung benötigt)?
-Liegen alle nicht benutzten Pins auf einem definierten Potential 
(Pullup/Pulldown-Widerstände)?


Ich hatte mal ein Problem, wenn andere SPI-IC's am gleichen Bus hängen, 
die aber aus Stromspargründen ausgeschaltet waren. Diese haben sich über 
interne Dioden selbst versorgt und die eigentliche SPI-Kommunikation 
gestört.

Antwort schreiben

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.

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.