我应用的是dsp f28035.我现在定义了两个变量,都是32位浮点。我在cla,asm中运行,32位的值_CputoCla._claa不随_CputoCla._clab的变化而变化,一直是初始值,但是_VoltFilt是可以的。_VoltFilt是定义的16位整形。难道是因为32位和16位的区别吗?cla不是可以用来32位的吗
我在main.C主函数中初始化:
CputoCla._clab=25000.0;
CputoCla._claa=800.0;
在CLA.asm中运行以下:
;;;;;;;;;;;;;;;;;;;;;;;
MMOV32 MR0,@_CputoCla._clab
MMOV32 @_CputoCla._claa,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
;;;;;;;;;;;;;;;;;;;;;;
;MMOVF32 MR0,#105.6
MF32TOUI16 MR2, MR0 ; Get back to Uint16 value
MMOV16 @_VoltFilt, MR2
现在的问题是_VoltFilt可以正常的为2500,而_CputoCla._claa为何不等于2500还是原来的初始值_CputoCla._clab呢?请大侠来帮帮忙。