CH32V303 und SPI-Initialisierung

OP #7990874
Lesenswert?
• ▲
▼

Servus allerseits

Seit geraumer Zeit versuche ich mich von STM32 zu lösen und auf die RISC-V chips von WCH umzuschwenken. 2 kleinere Projekte (beide mit CH32V006) konnte ich ohne Schluckauf abschliessen. Nun arbeite ich an einem etwas grösserem Projekt und setze hier den CH32V303 ein. Wieder keinerlei Probleme. Und vielleicht ist es der Reiz des Neuen: es macht echt Spass mit diesen MCUs zu arbeiten.

Bis ich gestern das Gerät einfach so eingeschaltet habe; also nicht wie gewohnt mit der IDE und dem angeschlossenen Debugger. Resultat: tote Hose. Kein Mucks. Ein Hard-Reset: und alles lief wie es soll. Spannung aus. Spannung an: tote Hose. Ein Hard-Reset: und alles lief wie es soll.

Die Quelle des Übels war die Intitalisierung von SPI2, an dem der DataFlash angeschlossen ist: die JedeID-Abfrage endedete in einem Endlos-Loop.

1
    RCC_APB1PeriphClockCmd(RCC_APB1Periph_SPI2, ENABLE);
2
    DelayCycles(20);        // zwingend notwendig
3
                            // die Zahl 20 ist willkürlich gewählt
4
    SPI_I2S_DeInit(SPI2);   // zwingend notwendig

Kann sein, dass sich dieses Problem bei einer kleineren Clock-Geschwindigkeit als 144MHz nicht bemerkbar macht.

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.