Die Frage ist so unvollständig, dass man Dir da wohl kaum helfen kann.
Warum willst Du stoppen und vor allem, wer soll den Stop verursachen?
Soll es die Software auf dem STM oder eine Bedingung von Außerhalb?
Soll unter allen Umständen sofort gestopt werden, oder nach der
Übertragung des aktuellen Bytes oder der laufenden Sequenz?
Dann müsste man noch wissen, wie der treober aussieht, den Du für den
USART verwendest.
Aus der Luft gegriffene Lösungen...
Byte zu ende, dann stop:
- Abbruch-Bedingung in Interruptroutine
- \0 in nächste Position des Puffers
- Puffer-Position auf Puffer-Ende setzen
Sequenz zuende:
- Puffer gegen neue Daten blockieren
Sofortiger Abbruch:
- USART im RCC abschalten
- USART disable setzen
Abbruch von Außen:
- RTS/CTS Handshake verwenden.
Ist aber alles nur geraten, weil man Deine Randbedingungen nicht kennt.