请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TMS320F28377S 主题中讨论的其他器件:C2000WARE
大家好
我尝试使用低优先级任务(task8)初始化.cla 文件上的全局变量、然后在 task1上持续切换此变量
我的.cla 文件如下所示:
//包含的文件
#include "cla_sqrt_shared.h"
#include "F28x_Project.h"
//全局
int 状态;
__interrupt void Cla1Task1 (void)
{
_mdebugstop();
if (status =0)
{
GpioDataRegs.GPADAT.bit.GPIO13=1;
状态= 1;
}
if (status ==1)
{
GpioDataRegs.GPADAT.bit.GPIO13=0;
状态= 0;
}
}
__interrupt void Cla1Task8 (void)
{
_mdebugstop();
状态= 1;
}
但是在调试时(CCS v7)、我注意到只有当我强制执行 Cla1Task8时、"status"才会改变、但当我调用 Cla1Task8时、它不会改变。
在 main.c 文件中、我只调用一次 Cla1Task8、就在我进入一个循环之前、在这个循环中、Task1在一个短暂的延迟后被重复触发。
for (;;) { Cla1ForceTask1andWait(); // //延迟一位。 // DELAY_US (1000*500); }
有可能吗? 我需要做些什么才能使其正常工作?