Gast
#5872934
Hallo, ich habe hier einen STM32L431 bei dem ich den STOP1 nutze. Bei einer eingehenden Nachricht über den USART1 soll der wieder aufwachen. (Der Wakeup IRQ feuert beim Startbit) Damit der USART1 im STOP1 empfangen kann muss er per HSI RC laufen. Der ist mit seinen +-1% genau genug für UART. Da ich 1Mbaud brauche kann ich nicht auf HSE+PLL warten bis die ready+locked sind. Also läuft der Rest des STM32 mit dem MSI auf 48MHz. Nun bekommt der USART1 also 2 Takte, 16MHz HSI und 48MHz MSi, diese sind nicht synchron zueinander. Im Datenblatt finde ich nichts dazu ob das erlaubt ist oder verboten ist. Es wird auch nichts von einer sync Logik erwähnt. (kennt man zB vom AVR mit seinem async Timer) Laut Blockschaltbild geht der 16MHz HSI nur an den Baudratenerzeuger. Die Busclk (=48MHz MSI) ist im Blockschaltbild nicht eingezeichnet. Da das später in den Produktionscode soll bräuchte ich dazu eine konkrete Aussage. Weis wer wo ich die bekomme? Das erste byte per HSI empfangen, dann aufs Stopbit lauschen und dann den Takt umschalten ist jetzt auch nicht wirklich praktikabel oder? Vor allem wenn der Empfang per DMA und Timeout realisiert ist.