私は組み込みシステム (Cortex M0) のコードを書いていますが、ミューテックス/スピンロックなどのすべての贅沢を持っているわけではありません。Main() ループからディスクにフラッシュされる共有バッファ (ログ ファイル) にデータを追加する簡単な方法はありますか?
単一のプロデューサー (1 つの割り込み) と単一のコンシューマー (メインループ) しかない場合、プロデューサーが「ヘッド」を増やし、コンシューマーが「テール」を増やす単純なバッファーを使用できます。そして、それは完全に安全になります。しかし、複数のプロデューサー (割り込み) があるので、行き詰まっているようです。
各割り込みに独自のバッファーを与え、それらを Main() で結合することもできますが、これには多くの余分な RAM と複雑さが必要になります。