This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
我用pwm触发cla的task1工作,然后pwm的频率设置的是19.2k,当我运行以下代码时候如果只计算sClaAtaMsgReal[eAtmInvVolReal] 和sClaAtaMsgReal[eAtmLineVolReal] 这两条的时候,cla的中断频率通过就是19.2k,如果我再多计算一个sClaAtaMsgReal[eAtmInvIndCurReal] 的时候,cla的频率就下降为9.8k左右了,如果我5个全部计算就只有6k左右了,这个是否是cla的计算能力不够呢??
sClaAtaMsgReal[eAtmInvVolReal] =
sClaAtaMsgEpm[eMtaInvVolK]*(ADC_INV_V - sClaAtaMsgAdc[eMtaInvVolMid]) + sClaAtaMsgEpm[eMtaInvVolB];
sClaAtaMsgReal[eAtmLineVolReal] =
sClaAtaMsgEpm[eMtaLineVolK]*(ADC_LINE_V - sClaAtaMsgAdc[eMtaLineVolMid]) + sClaAtaMsgEpm[eMtaLineVolB];
sClaAtaMsgReal[eAtmInvIndCurReal] =
sClaAtaMsgEpm[eMtaInvIndCurK]*(ADC_IND_I - sClaAtaMsgAdc[eMtaInvIndCurMid]) + sClaAtaMsgEpm[eMtaInvIndCurB];
sClaAtaMsgReal[eAtmInvOutCurReal] =
sClaAtaMsgEpm[eMtaInvOutCurK]*(ADC_OUT_I - sClaAtaMsgAdc[eMtaInvOutCurMid]) + sClaAtaMsgEpm[eMtaInvOutCurB];
sClaAtaMsgReal[eAtmInvVolBiasReal] =
sClaAtaMsgEpm[eMtaInvVolBiasK]*(ADC_BAIS_V - sClaAtaMsgAdc[eMtaInvBiasVolMid]) + sClaAtaMsgEpm[eMtaInvVolBiasB];
sClaAtaMsgReal[eAtmBusHVolReal] =
sClaAtaMsgEpm[eMtaBusHVolK]*ADC_BUSH_V + sClaAtaMsgEpm[eMtaBusHVolB - csClaMtaEpmBottom];
以下为数据的存放的RAM,也就是用的cla自己的RAM
#pragma DATA_SECTION(sClaAtaMsgReal, "Cla1DataRam1");
int16 sClaAtaMsgReal[csClaAtaAdcLen];
#pragma DATA_SECTION(sClaAtaMsgAdc, "Cla1DataRam1");
Uint16 sClaAtaMsgAdc[csClaMtaAdcFixLen + csClaMtaAdcLen];
#pragma DATA_SECTION(sClaAtaMsgEpm, "Cla1DataRam1");
Uint16 sClaAtaMsgEpm[csClaMtaEpmLen];