ビットフィールド
C 構成要素
typedef struct {
unsigned int p1 : 1;
unsigned int p2 : 1;
unsigned int p3 : 1;
} my_struct_type
手順
1. モデル例 ex_struct_bitfield_CSC を開きます。モデルには 3 つの Constant ブロックと 3 つの Outport ブロックが含まれています。

2. モデル データ エディターを開きます。[モデル化] タブで [モデル データ エディター] をクリックします。
3. モデル データ エディターの [パラメーター] タブの [値] 列で、1 つ目の Constant ブロックの値が p1 であることを確認します。パラメーター値の横にあるアクション ボタン (3 つの縦向きのドットのボタン) をクリックし、[作成] を選択します。
4. [新規データの作成] ダイアログ ボックスで、[値] を Simulink.Parameter(false) に設定します。[作成] をクリックします。Simulink.Parameter オブジェクト p1 がベース ワークスペースに表示されます。オブジェクトにはブール値 false が格納され、boolean データ型が使用されています。
5. Simulink.Parameter のプロパティ ダイアログ ボックスで、[OK] をクリックします。
6. モデル データ エディターを使用して、p2 および p3 という名前の新しいパラメーター オブジェクトを参照するように他の Constant ブロックを構成します。
7. Embedded Coder アプリを開きます。
8. [C コード] タブで、[コード インターフェイス]、[個々の要素コードのマッピング] を選択します。
9. コード マッピング エディターの [パラメーター] タブで、[コード マッピングを更新します] ボタンをクリックします。
10. [ストレージ クラス] 列を使用して、ストレージ クラス BitField をすべてのパラメーター オブジェクトに適用します。
10. プロパティ インスペクターで、[構造体名] 列を使用して、同じ構造体型 my_struct を使用するように各オブジェクトを構成します。
11. モデルからコードを生成します。
結果
生成されたヘッダー ファイル ex_struct_bitfield_CSC.h は構造体型 my_struct_type を定義します。
/* Type definition for custom storage class: BitField */
typedef struct myStruct_tag {
uint_T p1 : 1; /* Referenced by: '<Root>/Constant1' */
uint_T p2 : 1; /* Referenced by: '<Root>/Constant2' */
uint_T p3 : 1; /* Referenced by: '<Root>/Constant3' */
} myStruct_type;
生成されたソース ファイル ex_struct_bitfield_CSC.c は構造体変数 my_struct を定義および初期化します。
/* Definition for custom storage class: BitField */
myStruct_type myStruct = {
/* p1 */
false,
/* p2 */
false,
/* p3 */
false
};