(99)configParamInit(); *初始化参数配置*

it2025-10-02  8

目录


前言

对  configParamInit(); /*初始化参数配置*/

进行理解


一、 configParamInit(); /*初始化参数配置*/

void configParamInit(void) /*²ÎÊýÅäÖóõʼ»¯*/ { if(isInit) return; lenth=sizeof(configParam); lenth=lenth/4+(lenth%4 ? 1:0); STMFLASH_Read(CONFIG_PARAM_ADDR, (u32 *)&configParam, lenth); if(configParam.version == VERSION) /*°æ±¾ÕýÈ·*/ { if(configParamCksum(&configParam) == configParam.cksum) /*УÑéÕýÈ·*/ { printf("Version V%1.1f check [OK]\r\n", configParam.version / 10.0f); isConfigParamOK = true; } else { printf("Version check [FAIL]\r\n"); isConfigParamOK = false; } } else /*°æ±¾¸üÐÂ*/ { isConfigParamOK = false; } if(isConfigParamOK == false) /*ÅäÖòÎÊý´íÎó£¬Ð´ÈëĬÈϲÎÊý*/ { memcpy((u8 *)&configParam, (u8 *)&configParamDefault, sizeof(configParam)); configParam.cksum = configParamCksum(&configParam); /*¼ÆËãУÑéÖµ*/ STMFLASH_Write(CONFIG_PARAM_ADDR,(u32 *)&configParam, lenth); /*дÈëstm32 flash*/ isConfigParamOK=true; } xSemaphore = xSemaphoreCreateBinary(); isInit=true; }

 


总结

最新回复(0)