首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MSP 430显示错误的值

MSP 430显示错误的值
EN

Stack Overflow用户
提问于 2009-02-26 19:23:09
回答 5查看 1.4K关注 0票数 3

我正在开发压力测量装置。我使用过MSP430F133芯片和IAR嵌入式工作台。它以3个不同的单位显示压力。

我取了32个样本,然后取平均值。单位选择在P5上,根据选择的单位计算出输出值并显示在液晶屏上。

现在,单元"IN WC“显示的是输入的二进制平均值,仅供分析。

问题:在默认单位(MM,WC)中,值显示正确,但在测试情况下,当释放压力时,它会下降,LCD显示如下

代码语言:javascript
复制
+31.8
+31.7
+31.6
+31.5
+31.4
+31.3
+31.2
+31.2
+31.1
+31.5 (wrong reading randomly between *.4 to *.7)
+30.9

因为你可以看到有一个错误的值正在显示,我不能找出原因。

EN

回答 5

Stack Overflow用户

发布于 2009-02-26 20:06:11

在下面的代码ptiveValue = value和d1 = value so d2 always is 0中,那么在你的循环中你有for (i=0;i<= 3||resi!='\0';i++),它应该是for (i=0;i<= 3&&resi!='\0';i++),所以它总是打印出缓冲区中剩下的东西,而不是你想要的东西

错误代码:

代码语言:javascript
复制
if (cntd <= 4)
{
    d2 = (unsigned int) abs((ptiveValue - d1) * 10000); // get 4 digits of real part
    itoa1(d2, res, &cntreal);  
    for (i=0; i<= 3||res[i]!='\0'; i++)
    {
       wr_lcd_dr(res[i]);

    }
 }

固定代码

代码语言:javascript
复制
if (cntd <= 4)
{   
    // get 4 digits of real part
    d2 = (unsigned int) ((ptiveValue - (unsigned int)(d1)) * 10000); 
    itoa1(d2, res, &cntreal);  
    for (i=0; (i<= 3) && (res[i]!='\0'); i++)
    {
       wr_lcd_dr(res[i]);     
    }
 }

您还会覆盖您的缓冲区,并可能创建奇怪的行为。

代码语言:javascript
复制
unsigned short Adcinb[32];
for (i = 0; i <= 63; i++)
Adcinb[i] = 3180;

应该是

代码语言:javascript
复制
unsigned short Adcinb[32];
for (i = 0; i < 32; i++)
Adcinb[i] = 3180;
票数 4
EN

Stack Overflow用户

发布于 2009-04-29 12:06:26

不幸的是,这两个指向源代码的链接都不起作用了。但据我所知,原因可能是这个地方预期的“正确”最后一个数字是零。我的猜测是,在计算或可视化代码中的某个地方,这个零被错误地视为停止条件,并导致在其位置显示一个随机数字。(仅向输出提供'31‘,但向显示器发送3位数字)

上面的'||'/'&&‘问题表明代码并不是非常简单,如果对其余的代码也是如此,那么错误的stop条件和固定长度的循环可能会导致这种情况。

这只是一个“胡乱猜测”(TM),但在不知道实际代码的情况下,我只能给出最好的结果。

票数 2
EN

Stack Overflow用户

发布于 2009-02-26 19:44:16

这看起来有点可疑,||可能应该是&&:

代码语言:javascript
复制
        for (i=0; i<= 3||res[i]!='\0'; i++)

但我不明白这怎么会引起你的问题。

另外,你应该清理和简化你的代码。因为它是很难阅读的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/592029

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档