程序如下;
__interrupt void Cla1Task1 ( void )
{
duty=duty+1;
if(duty==3600)
{duty=0;
}
}
Eric Ma:
你这个变量值有没有在任务8中进行初始化啊?
Eric
程序如下;
__interrupt void Cla1Task1 ( void )
{
duty=duty+1;
if(duty==3600)
{duty=0;
}
}
lin wen:
回复 Eric Ma:
你的意思是说,任务1中的变量初始化要在任务8中进行?我的这个变量是定义为 cla to cpu .如果变量类型为float,就不会出现这种情况,而类型为int ,long 等,值会为负值,而且绝对值不相等
程序如下;
__interrupt void Cla1Task1 ( void )
{
duty=duty+1;
if(duty==3600)
{duty=0;
}
}
Eric Ma:
回复 lin wen:
如果任务1中用到的全局变量,且在CLA定义的,需要在任务8中进行初始化,因为CLA不能进行默认初始化。你可以参考程序:C:\ti\controlSUITE\development_kits\HVMotorCtrl+PfcKit_v2.1\HVPM_Sensorless_CLA_F2803x
另外你要注意,CLA的int是32位的。你可以把它定义成无符号的,然后再传送给CPU。
ERIC