Azzera filtri
Azzera filtri

割込み対策処理のモデル設計について

5 visualizzazioni (ultimi 30 giorni)
Chika Kishi
Chika Kishi il 23 Mag 2018
Risposto: Akihiro Yasuda il 2 Lug 2018
一時格納用変数から複数個のデータをグローバル変数へ同時に格納するためにフラグを設けて、割込みを防止するような処理をSimulinkモデルで実現する方法はありますか? (Cコードで書くと以下のような処理です。)
/* 一時格納用変数へ格納 */
  local_val1 = sample1;
local_val2 = sample2;
local_val3 = sample3;
  /* フラグOFF: OFFの間は割込み不可 */
  FLAG = 0;
  /* グローバル変数へ格納 */
  Global1 = local_val1;
Global2 = local_val2;
Global3 = local_val3;
/* フラグON: すべての変数格納が終了した時点でフラグをONとし、割込みを許可する */
  FLAG = 1;

Risposte (1)

Akihiro Yasuda
Akihiro Yasuda il 2 Lug 2018
下記図および添付ファイルのように、Function Caller経由でコピー処理をし、
その前後にAtomic Subsystemブロックを挿入し、
そのブロック内で割り込みフラグを設定するのはどうでしょうか?
上記以外ですと、外部コードとして作成し、それを参照する方法があると思います。
モデル内にブロックとして組み込む場合は、 ブロックの作成が参考になると思います。
カスタムストレージクラスImportFromFileを使用して生成コード時のみ反映する といった方法があると思います。

Categorie

Scopri di più su モデル化 in Help Center e File Exchange

Prodotti


Release

R2015a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!