主题中讨论的其他器件:DAC128S085EVM
工具/软件:Code Composer Studio
您好!
我使用 C2000板从 ADC (MAX1202)收集数据、我还使用 DAC Booster Pack (DAC128S085EVM)。 从这些器件发送或接收数据没有问题、但是、当我尝试使用从 ADC 接收到的数据进行一些计算时、我的程序停止运行。
项目内容如下 :https://db.tt/QHnD94zKVM
代码相当大、主要问题是:
1) spibphb = SpibRegs.SPIRXBUF;
while (SpibRegs.SPIFFRX.bit.RXFFST!=1){}
spibphc = SpibRegs.SPIRXBUF;
2)我组合从 ADC 获取的数据:(spibphb<5)|(spibphc>3);
3) 3)为其分配变量:v1x =(spibphb<<5)|(spibphc>>3);
4) 4)现在、如果我尝试使用 v1x 进行任何算术运算、我的代码将停止。 如果我不使用 v1x、则代码运行正常。
例如:如果我在以下位置使用它:BETA = QMUL (OneBySqrrtThree、v1x、15)- QMUL (OneBySqrrtThree、v3、15);
其中#define QMUL (x、y、n)(int16)(((int32)(x)*(int32)(y)))>n)、代码停止工作。
我通过输入使用 v1x 停止我的代码的断点来找到它。
请帮助我解决此问题、我将不胜感激。 谢谢。