请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
部件号:MSP430G2553 工具/软件:TI C/C++编译器
您好,
我写了一个程序,让ADC变得平均
ADC由计时器读取,我设置了一个标志 ,提醒我可以检索数据(f_wt_ready)
我有以下代码:
inline void AvgAdcOutput (float* weight, char cycles,char display)
{
char i = cycles;
*weat =0;
f_wt_ready =0;
for (i=cycles;i>0; i-)
{
IF (f_wt_ready)
{
*WEIGHT +=(float) wt_temp;
IF (DISPLAY == 1)
{
NumToString(wt_temp,msg);
msg_location = 0x9A;
f_msg =1;
}
f_wt_ready =0;
}
else
I++;
*WEIGHT /= cycles;
}
在循环之前,我为 新数据检索设置f_wt_ready =0。
但是即使f_wt_ready等于1,循环内的IF也不为true
我认为这可能是编译器的问题,因为当我在 循环之前删除f_wt_ready =0时,它工作正常
此外,在运行时,我不能在循环内部仅在循环外部输入断点。
谢谢你