码迷,mamicode.com
首页 > 其他好文 > 详细

压力校准仪开发日志2017-12-13

时间:2017-12-14 03:45:36      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:oid   str   star   错误   and   check   images   屏幕   log   

 

完善

lcdcommand.c

/*
自动保存 上一次运行的点 下一次开机自动选择
清零按键可以取消它
return : 
    1: OK
    0: ERROR

每次清零之后 
每次执行之后都要运行此函数
*/
u8 SavePreRunPoint(void)
{
        u8 l_u8ForWhile=0;
        u8 l_u8ForSaveParWhile=0; 
        
        //AT24CXX_Write(CountOfPreRunPointEEPROMAddr,(u8*)u16a_DownPressPara,1); 
        AT24CXX_WriteOneByte(CountOfPreRunPointEEPROMAddr,MainMenu_flag_toChargeMode);
    
        AT24CXX_Write(TheFirstRunPointEEPROMAddr,(u8*)MainMenu_ChargeMode_point,MainMenu_flag_toChargeMode);
    
        return 1;
}

完善

u8 StartCheck_DisInit(void)

/*开机后的一些参数的清零  HEAD*/    
        for(l_i=0x0000;l_i<0x000D+1;l_i++)//~~~~~~~~!!!!!!!!!!!!!!!!!!   开机主界面自动清空
        {
                DisplayOneWord(l_i,0x0000);
                delay_ms(20);
        }
        MainMenu_flag_toChargeMode=0;
        memset(MainMenu_ChargeMode_point,0,5*sizeof(u16));
        g_u8MotorRunningFlag=0;
        g_u8Flag_UPorDOWN=0;  // 这个必须手动清零
        g_u8Flag_ExternalAdd=0;
        /*开机后的一些参数的清零  END*/    
        
        
        
        /*读取打印SavePreRunPoint  函数中保存的上一次的设定点的EEPROM数据*/
        
        MainMenu_flag_toChargeMode=AT24CXX_ReadOneByte(CountOfPreRunPointEEPROMAddr);
        if(MainMenu_flag_toChargeMode>6)  //出现错误    根本没有那么多的运行点 EERPOM读写可能存在错误  编码:EA1
        {
                printf("出现错误 EERPOM读写可能存在错误,编码:EA1\r\n");
                return 1;
        }
        AT24CXX_Read(TheFirstRunPointEEPROMAddr,(u8 *)MainMenu_ChargeMode_point,MainMenu_flag_toChargeMode);
        printf("MainMenu_flag_toChargeMode is:%d \r\n",MainMenu_flag_toChargeMode);
        for(l_loopFlag2=0;l_loopFlag2<MainMenu_flag_toChargeMode;l_loopFlag2++)
        {
                    printf("上次保存的执行点 is:%d\r\n",MainMenu_ChargeMode_point[l_loopFlag2]);
        }
        
        /*读取打印SavePreRunPoint  函数中保存的上一次的设定点的EEPROM数据    over*/
        
        
        
        /*让LCD屏幕自动选定上次执行的点*/
                for(l_loopFlag2=0;l_loopFlag2 < MainMenu_flag_toChargeMode;l_loopFlag2++)
        {
                if(MainMenu_ChargeMode_point[l_loopFlag2]<6)
                {        
                        DisplayOneWord((MainMenu_ChargeMode_point[l_loopFlag2]+5),0x0001);
                        delay_ms(20);
                }
                else
                {
                        printf("出现错误 EERPOM读写可能存在错误,编码:EA2\r\n");
                }                    
        }
        /*让LCD屏幕自动选定上次执行的点   OVER*/
        
        return 0;

 

 

 

 

 

后来增加

技术分享图片

 技术分享图片

发现  外部充气为18  这是因为  第一次使用 导致EEROM内部数据没有存储  

 

解决办法

 

在EEPROM的自检中加入 是否是第一次使用EERPOM

如果是第一次使用则  全部内存写一遍 

 技术分享图片

 

 

 

 

你会发现

 技术分享图片

 原因:

技术分享图片

 

压力校准仪开发日志2017-12-13

标签:oid   str   star   错误   and   check   images   屏幕   log   

原文地址:http://www.cnblogs.com/qdrs/p/8035326.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!