⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 new_cfg_handle.c

📁 PRJPCBStructure设计
💻 C
字号:
#include "top.h"
if(DPS2_GET_IND_NEW_CFG_DATA())
	{
	UBYTE SPC3_PTR_ATTR *cfg_ptr;
	UBYTE config_data_len,cfg_result,result;
	cfg_result=DPS2_CFG_FINISHED;
	result=DPS_CFG_OK;
	do
		{
		cfg_ptr=DPS2_GET_CFG_BUF_PTR();       /*组态数据的指针*/
		config_data_len=DPS2_GET_CFG_LEN();	  /*组态数据的长度*/
		if(config_data_len!=2) 
        /*组态数据的长度不为2,组态错误*/       
		cfg_result=DPS2_SET_CFG_DATA_NOT_OK();
		else
			{
			/*长度为2,但新的组态数据与初始化时的组态数据一样,不改变,组态完成*/
			if((cfg_akt[0]==cfg_ptr[0])&&(cfg_akt[1]==cfg_ptr[1]))
			result=DPS_CFG_OK;
			else
				{
				/*如果新的组态数据与原组态数据不一样,但为13H,23H或者为11H,21H,	组态正确*/
				if(((cfg_ptr[0]==0x13)&&(cfg_ptr[1])==0x23)
				||((cfg_ptr[0]==0x11)&&(cfg_ptr[1])==0x21))
					{
					cfg_akt[0]=cfg_ptr[0];
					cfg_akt[1]=cfg_ptr[1];
					result=DPS_CFG_UPDATE;
					}
				/*不一样也不为13H,23H或者为11H,21H,则组态错误*/
				else
					result=DPS_CFG_FAULT;
				/*如果组态正确,进入数据交换*/	
				if(result==DPS_CFG_UPDATE)
					{
		   			user_io_data_len_ptr=dps2_calculate_inp_outp_le--n(cfg_ptr,(UWORD)config_data_len);
		   			if(user_io_data_len_ptr!=(DPS2_IO_DATA_LEN*)0)
						{
						DPS2_SET_IO_DATA_LEN(user_io_data_len_ptr);
						}
		   			else
		   				result=DPS_CFG_FAULT;
					}
				}
	switch(result)
	{case DPS_CFG_OK:cfg_result=DPS2_SET_CFG_DATA_OK();
	break;
	case DPS_CFG_FAULT:cfg_result=DPS2_SET_CFG_DATA_NOT_OK();
	break;
	case DPS_CFG_UPDATE:cfg_result=DPS2_SET_CFG_DATA_UPDATE();
	break;
			}
		}
	while(cfg_result==DPS2_CFG_CONFLICT);
	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -