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.