TI中文支持网
TI专业的中文技术问题搜集分享网站

cla.asm变量不能更新

我应用的是dsp f28035.我现在定义了变量CputoClaAAA、CputoClaBBB和VoltFilt

#pragma DATA_SECTION(CputoClaAAA,"CpuToCla1MsgRAM");
#pragma DATA_SECTION(CputoClaBBB,"CpuToCla1MsgRAM");

Uint16 CputoClaAAA,CputoClaBBB;

#pragma DATA_SECTION(VoltFilt,   "Cla1ToCpuMsgRAM");

Uint16 VoltFilt;

在main中初始化

CputoClaBBB=1258;
CputoClaAAA=2536;

MMOVZ16 MR0,@_CputoClaAAA
MMOV16 @_CputoClaBBB,MR0
MNOP ;3 Wait till I8 to read result
MNOP ;4 Wait till I8 to read result
MNOP ;5 Wait till I8 to read result
MNOP ;6 Wait till I8 to read result
MNOP

运行后CputoClaBBB=1258为何还是不能更新为CputoClaAAA的值2536呢,如何让_CputoClaBBB跟随_CputoClaAAA变化呢?

补充:类似的情况

_VoltFilt的值能够跟随A4改变,而CputoClaBBB不能,就是因为_A4 和CputoClaBBB是同一区间,_A4 和_VoltFilt不在同一区间的缘故吗

在这定义

#pragma DATA_SECTION(A,          "CpuToCla1MsgRAM");

#pragma DATA_SECTION(CputoClaBBB,"CpuToCla1MsgRAM");

而#pragma DATA_SECTION(VoltFilt,   "Cla1ToCpuMsgRAM");

#if LOWPASS
float32 A [FILTER_LEN] = {625, 100, 200, 300, 2000};
#elif HIGHPASS
float32 A [FILTER_LEN] = {625, 100, 200, 300, 2000};//T{0.0625L, 0.25L, 0.375L, 0.25L, 0.0625L}
#endif

MMOV32 MR0,@_A4 
MF32TOUI16 MR1,MR0
; MMOVZ16 MR0,@_CputoClaAAA
MMOV16 @_CputoClaBBB,MR1
MMOV16 @_VoltFilt, MR1

请求帮助!

user3900194:

请求大侠来帮助,谢谢

赞(0)
未经允许不得转载:TI中文支持网 » cla.asm变量不能更新
分享到: 更多 (0)