主题中讨论的其他器件:C2000WARE
我从 ISR 调用 Task1、如下所示:
_interrupt void
adc_isr1 (空)
{
ADCValue_PWM1B = AdcResult.ADCRESULT0;
Cla1ForceTask1();
AdcRegs.ADCINTFLGCLR.bit.ADCINT1 = 1;//为下一个 SOC 清除 ADCINT1标志*/
PieCtrlRegs.PIEACK.all = PIEACK_Group1;//确认 PIE 中断
}
在 CLA 中、我将按如下方式修改 ADC 值:
_interrupt void
Cla1Task1 (空)
{
_mdebugstop();
ADCValue1= ADCValue_PWM1B*3;
}
然而、ADCValue1的值在 main 中不会改变、我一直读取0。 任何人能否就如何在 CPU 和 CLA 之间共享变量提出建议?
下面是我在 shared_data.c 中定义变量的方式:
#pragma DATA_SECTION (ADCValue_PWM1B、"CpuToCla1MsgRAM");
UINT16 ADCValue_PWM1B;
#pragma DATA_SECTION (ADCValue1、"Cla1ToCpuMsgRAM");
uint16 ADCValue1;