問題タブ [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.

0 投票する
1 に答える
211 参照

c - イベント ドリブンの組み込みシステムでイベント キューを使用して競合状態を回避する

stm32 をプログラムし、イベント駆動型アーキテクチャを使用しようとしています。たとえば、タイマー割り込みが発生したときにピンをトグルし、ADC DMA バッファ フル割り込みが発生したときにデータを外部フラッシュに転送します。

それぞれが同じ優先度を持つ複数の割り込みソースがあり、ネスティングが無効になります。

割り込みを使用してフラグを設定し、割り込みが発生したことをメインに通知し、メイン内でデータを処理します。ISR 内に処理/命令はありません。

私を悩ませているのは、メインおよび ISR で変数 (この場合はフラグ) にアクセスすると、長期的には競合状態のバグが発生する可能性があることです。

そのため、フラグの代わりに循環イベント キューを使用したいと考えています。

ISR のみがイベント キュー バッファに書き込み、「ヘッド」をインクリメントできます。メインのみがイベント キューを読み取り (およびイベントに従って命令を実行)、「テール」をインクリメントできます。

ISR のネスティングが無効になっており、各 ISR がイベント キュー配列の異なる要素にアクセスし、メイン関数はイベント キューに新しいイベントがある場合にのみ反応するため、競合状態は回避されますか? または私は何かを逃していますか?

私が何か間違ったことをしている場合は、私を修正してください。

ありがとうございました。

0 投票する
1 に答える
56 参照

system-verilog - 不正な Verilog イベント領域にフラグを立てる SV アサーション

Verilog イベント キューの NBA 領域で信号がトグルされた場合にエラーをフラグできるシステム Verilog コンストラクトはありますか? 何かのようなもの

0 投票する
1 に答える
25 参照

python - pygame のイベント キューの機能を知る方法はありますか?

pygameのイベントキューについて知りたくて、以下のように書きました。ここでは、次のコールが呼び出されるまで 3 秒間待機してevent.get()います。この 3 秒間で、キーボードとマウスを使用して多くのイベントを実行します。

しかし、まだ次の印刷で空白のイベント キューが表示されます...

私が間違っていなければ、pygame は発生したすべてのイベントをevent.get()キューに入れ、キューを返し、それをクリアするからです。