問題タブ [eventqueue]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - イベント ドリブンの組み込みシステムでイベント キューを使用して競合状態を回避する
stm32 をプログラムし、イベント駆動型アーキテクチャを使用しようとしています。たとえば、タイマー割り込みが発生したときにピンをトグルし、ADC DMA バッファ フル割り込みが発生したときにデータを外部フラッシュに転送します。
それぞれが同じ優先度を持つ複数の割り込みソースがあり、ネスティングが無効になります。
割り込みを使用してフラグを設定し、割り込みが発生したことをメインに通知し、メイン内でデータを処理します。ISR 内に処理/命令はありません。
私を悩ませているのは、メインおよび ISR で変数 (この場合はフラグ) にアクセスすると、長期的には競合状態のバグが発生する可能性があることです。
そのため、フラグの代わりに循環イベント キューを使用したいと考えています。
ISR のみがイベント キュー バッファに書き込み、「ヘッド」をインクリメントできます。メインのみがイベント キューを読み取り (およびイベントに従って命令を実行)、「テール」をインクリメントできます。
ISR のネスティングが無効になっており、各 ISR がイベント キュー配列の異なる要素にアクセスし、メイン関数はイベント キューに新しいイベントがある場合にのみ反応するため、競合状態は回避されますか? または私は何かを逃していますか?
私が何か間違ったことをしている場合は、私を修正してください。
ありがとうございました。
system-verilog - 不正な Verilog イベント領域にフラグを立てる SV アサーション
Verilog イベント キューの NBA 領域で信号がトグルされた場合にエラーをフラグできるシステム Verilog コンストラクトはありますか? 何かのようなもの
python - pygame のイベント キューの機能を知る方法はありますか?
pygameのイベントキューについて知りたくて、以下のように書きました。ここでは、次のコールが呼び出されるまで 3 秒間待機してevent.get()います。この 3 秒間で、キーボードとマウスを使用して多くのイベントを実行します。
しかし、まだ次の印刷で空白のイベント キューが表示されます...
私が間違っていなければ、pygame は発生したすべてのイベントをevent.get()キューに入れ、キューを返し、それをクリアするからです。