typedefを次のように宣言すると、次のようになります。
typedef struct
{
uint8 LastState;
uint8 CurrentState;
uint8 NextState;
uint8 TaskEnabled;
uint8 Counter;
uint8 Status;
}SM_tstTaskStateStructure;
次の方法で作成しようとしている配列のコンテンツを定義しようとしています。
#define xInitDataTable \
{IDLE,IDLE,IDLE,YES,TIMED7SEG,IDLE}, \
{IDLE,IDLE,IDLE,YES,TIMELED1,IDLE}, \
{IDLE,IDLE,IDLE,YES,TIMELED2,IDLE}, \
{IDLE,IDLE,IDLE,YES,TIMELED3,IDLE}, \
{IDLE,IDLE,IDLE,YES,TIMEBTN,IDLE}, \
{IDLE,IDLE,IDLE,YES,BASETIME,IDLE}, \
{IDLE,IDLE,IDLE,YES,FREQUPDATE,IDLE}
次に、構造体の配列として初期化します。
static const SM_tstTaskStateStructure SM__astData[TASKMAX]=
{
xInitDataTable
};
このコンパイラは固有ですか?富士通mc用のSoftuneコンパイラを使用すると、この方法で構造体の配列を初期化できますが、CodeComposerStudioでは初期化できません。もしそうなら、これを行うための同様の方法はありますか(可能であれば定義を使用して)?
**これらは数値のみであり、ポインタなどはありません。
編集:気にしないでください、前または後の増分を使用しようとすると、すべてのメンバーで発生します