当我通过以下方式声明 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 编译器允许我以这种方式初始化结构数组,而 Code Composer Studio 则不允许。如果是这样,是否有任何类似的方法可以做到这一点(如果可能,使用定义)?
** 这些只是数值,没有指针或任何东西。
编辑:没关系,在尝试使用前或后增量时发生在所有成员身上