在MPLAB中用float定义变量,单步显示数据不对???

2020-02-08 12:29发布

本人刚开始学PIC的编程,用的是PIC16F946,我用的是MPLAB 8.60,PICC 用V9.80版本。
现在发现一个很奇怪的问题,我用float定义了2个变量,然后denbug运行,到断点处,查看上面2个变量的值,但是不对?不知道 为什么?
源程序和仿真结果图片如下如下:
void main(void)
{   
    sys_ini();
    BEEP_Num(1);
    Delay(1000);

    float low_data;//量程下限
    float top_data;//量程上限
   
    low_data = 0;
    top_data = 0;
   
    low_data = 1.0;
    top_data = 2.0;
    NOP();
   
    while(1)
    {
        if(low_data == 1.0)
        {
            BEEP_Num(1);
            Delay(1000);
        }
        if(top_data == 2.0)
        {
            BEEP_Num(2);
            Delay(1000);
        }
        
    }   
   
}

红点为断点,绿 {MOD}箭头是运行处 (原文件名:clip_image002.jpg)


watch窗口显示的变量值 (原文件名:2.JPG)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
lw30402048
1楼-- · 2020-02-08 15:41
有遇到这些问题的吗?忘解答下 万分感谢
defineme
2楼-- · 2020-02-08 18:51
PICC 默认float是24位的 你要自己设定为32位 build options->global size of double size of float

一周热门 更多>