震惊!某萌新竟然怀疑正点原子的板子有问题!原子哥竟然...

2019-08-20 16:12发布

int main(void)
{         
        u8 x=0;
           int key_up=1;
        float fu1=0;
        delay_init();                     //延时函数初始化          
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);         //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
        uart_init(115200);                 //串口初始化为115200
        KEY_Init();                 //初始化与按键连接的硬件接口
        LED_Init();                             //LED端口初始化
        LCD_Init();
       

                while(1)
                        {                 
                        if(key_up&&KEY1==0)
                   {                                               
                            delay_ms(200);
          key_up        =0;               
                                  LED1=!LED1;
                                  fu1+=0.1;
                                         LCD_ShowNum(80,200,fu1*10,16,16);
                         }
                         key_up=1;
                 }
代码如上,特地新建了个工程又尝试了一下,问题是当按key1键,使显示数字到达23时,再按一次,依旧是23,再按一次就是24了,然而当我调用这个fu1变量时,其值(例如显示的是27,调用的时候内部真正的却是28),换成int就没有这个问题,但换成double的会更离谱,真心搞了一下午,尝试了各种方法,终于发现是这一块的问题,心好累,求助原子哥!!!求助各位前人!!!


       
         }

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。