yidong.fan 1 сар өмнө
parent
commit
b2b31b65e1

+ 4 - 4
WZYXPCR_NO1.20250726.X/WZYXPCR_NO1.20250726.X/file/EEPROM.c

@@ -327,13 +327,13 @@ void Read_Sys_EE_03(void){
 			 EE_StrRead(0x46c+i*24, (unsigned char*) &TempPara[i].iKp[1],4);
 			 EE_StrRead(0x470+i*24, (unsigned char*) &TempPara[i].iKi[1],4);
 			 EE_StrRead(0x474+i*24, (unsigned char*) &TempPara[i].iKd[1],4);
-			 EE_StrRead(0x6A0+i*8, (unsigned char*) &TempChn[i].OverTempthreshold,4);
-			 EE_StrRead(0x6A4+i*8, (unsigned char*) &TempChn[i].OverTempCoolthreshold,4);
+			 EE_StrRead(0x6A0+i*4, (unsigned char*) &TempChn[i].OverTempthreshold,4);
+			 EE_StrRead(0x6B8+i*4, (unsigned char*) &TempChn[i].OverTempCoolthreshold,4);
         }     
 
         for (i = 0; i < 6; i++) {
-            EE_StrRead(0x498 + 4 * i, (unsigned char*) &TempPara[i].fPowerCoef, 4);  
-            EE_StrRead(0x4C8 + 4 * i, (unsigned char*) &TempPara[i].fPowerCoefdown, 4); 
+            EE_StrRead(0x5C0 + 4 * i, (unsigned char*) &TempPara[i].fPowerCoef, 4);  
+            EE_StrRead(0x5C4 + 4 * i, (unsigned char*) &TempPara[i].fPowerCoefdown, 4); 
         }        
              
     }   

+ 1 - 1
WZYXPCR_NO1.20250726.X/WZYXPCR_NO1.20250726.X/file/Interrupt.c

@@ -272,7 +272,7 @@ void __attribute__((interrupt,auto_psv)) _T6Interrupt (void)
 //        MCUAdcBuff[7][SampleNo]  = AD_Get(0x07);     //
 //        MCUAdcBuff[8][SampleNo]  = AD_Get(0x08);     //    É¢ÈÈÆ¬
     SampleNo++;
-    if(SampleNo > 2) {     //100ms
+    if(SampleNo > 3) {     //200ms
         SampleNo=0;
         T4CONbits.TON=1;    //off the T4  for 1ms
         ms100conter++;

+ 37 - 57
WZYXPCR_NO1.20250726.X/WZYXPCR_NO1.20250726.X/file/PWM.c

@@ -49,10 +49,11 @@ void InitPWM(void)
 /*******************************************************************************
  * 函数名称:SetPWM
  *******************************************************************************/
-void SetPWM(unsigned char ucChannel , long uiDuty)
+void SetPWM(unsigned char ucChannel , float pwmvalue)
 {
-    if(uiDuty > 0){ 
-        uiDuty =(long)((float)uiDuty * TempPara[ucChannel].fPowerCoef) ;
+	long uiDuty;
+    if(pwmvalue > 0){ 
+        uiDuty =(long)(pwmvalue * TempPara[ucChannel].fPowerCoef) ;
         switch(ucChannel){
             case 0:
                 PDC1 = uiDuty;
@@ -83,37 +84,7 @@ void SetPWM(unsigned char ucChannel , long uiDuty)
            
         }
     }else{
-        if((TempChn[ucChannel].cOverTempCnter == 0)&&(TempChn[ucChannel].cHeatOrRefrig == 1)){
-            switch(ucChannel){
-                case 0:
-                    SDC1 = 0;
-                    PDC1 = 0;
-                    break;
-                case 1:
-                    SDC2 = 0;
-                    PDC2 = 0;//加热
-                    break;
-                case 2:
-                    SDC3 = 0;
-                    PDC3 = 0;//加热
-                    break;
-                case 3:
-                    SDC4 = 0;
-                    PDC4 = 0;//加热
-                    break;
-                case 4:
-                    SDC5 = 0;
-                    PDC5 = 0;//加热
-                    break; 
-                case 5:
-                    SDC6 = 0;
-                    PDC6 = 0;//加热
-                    break;                                  
-                default:
-                    break;                
-            }
-        }else{
-            uiDuty =(long)((float)uiDuty * TempPara[ucChannel].fPowerCoefdown) ;
+            uiDuty =(long)(pwmvalue * TempPara[ucChannel].fPowerCoefdown) ;
             switch(ucChannel){
                 case 0:
                     SDC1 = -uiDuty;
@@ -143,7 +114,6 @@ void SetPWM(unsigned char ucChannel , long uiDuty)
                     break;                
             }
         }
-    }
 }
 
 
@@ -190,6 +160,9 @@ void CAPPeltierCtrler(void){
 void PeltierCtrler(void)
 {
     unsigned char i;   
+	float tempOutP; 
+	float errOutP;
+	float divOutP;
     for(i=0;i<6;i++)
     {
         
@@ -202,11 +175,13 @@ void PeltierCtrler(void)
 				/*采用第一路PID配置*/
 			    TempPara[i].fErrLast = TempPara[i].fErr;
 				TempPara[i].fErr=TempChn[i].fTubeTargetTemp - TempChn[i].fCurrentTemperature;              
-                TempPara[i].fVlOutP = TempPara[i].iKp[1] * TempPara[i].fErr;
-                TempPara[i].fSum += TempPara[i].fErr; 
+                TempPara[i].fVlOut = TempPara[i].iKp[1] * TempPara[i].fErr;
+				if(abs(TempPara[i].fVlOutP) < 100){
+                	TempPara[i].fSum += TempPara[i].fErr; 
+				}
                 TempPara[i].fVlSum = TempPara[i].iKi[1] * TempPara[i].fSum; 
-                TempPara[i].fVlOut = TempPara[i].iKd[1]*(TempPara[i].fErr - TempPara[i].fErrLast);           
-                TempPara[i].fVlOutP += TempPara[i].fVlOut + TempPara[i].fVlSum;
+                divOutP = TempPara[i].iKd[1]*(TempPara[i].fErr - TempPara[i].fErrLast);  
+                TempPara[i].fVlOutP = TempPara[i].fVlOut + TempPara[i].fVlSum + divOutP;
 				if(TempChn[i].cHeatOrRefrig == 1){
 					if(TempChn[i].fCurrentTemperature >(TempChn[i].fTubeTargetTemp + TempChn[i].OverTempthreshold)){					
 						TempChn[i].pidst= PID_OVERHEATLAST;
@@ -231,7 +206,8 @@ void PeltierCtrler(void)
 				if(TempChn[i].pidRumtime>= TempChn[i].timer0){
 					TempChn[i].pidst= PID_NORMAL;
 					/*维持功率不变,*/
-					TempPara[i].fSum += (TempChn[i].fCurrentTemperature - TempChn[i].fBlockTargetTemp)*TempPara[i].iKp[1]/TempPara[i].iKi[1];	
+					TempPara[i].fSum = (TempChn[i].fCurrentTemperature - TempChn[i].fBlockTargetTemp)*TempPara[i].iKp[1]/TempPara[i].iKi[1];					
+					TempPara[i].fSum += TempPara[i].fVlOutP/TempPara[i].iKi[1];
 					Van_Device_Printf(2," ch%d go to st:%d  cur:%f,time:%d  \n\r",i,TempChn[i].pidst,TempChn[i].fCurrentTemperature,TempChn[i].pidRumtime);
 					TempChn[i].pidRumtime = 0;
 					TempChn[i].fistAriv = 0;
@@ -241,11 +217,13 @@ void PeltierCtrler(void)
 				/*采用第一路PID配置*/
 			    TempPara[i].fErrLast = TempPara[i].fErr;
 				TempPara[i].fErr=TempChn[i].fBlockTargetTemp - TempChn[i].fCurrentTemperature;              
-                TempPara[i].fVlOutP = TempPara[i].iKp[1] * TempPara[i].fErr;
+                TempPara[i].fVlOut = TempPara[i].iKp[1] * TempPara[i].fErr;
+//				if(abs(TempPara[i].fVlOutP) < 100){
+//				}
                 TempPara[i].fSum += TempPara[i].fErr; 
                 TempPara[i].fVlSum = TempPara[i].iKi[1] * TempPara[i].fSum; 
-                TempPara[i].fVlOut = TempPara[i].iKd[1]*(TempPara[i].fErr - TempPara[i].fErrLast);           
-                TempPara[i].fVlOutP += TempPara[i].fVlOut + TempPara[i].fVlSum;
+                divOutP = TempPara[i].iKd[1]*(TempPara[i].fErr - TempPara[i].fErrLast);  
+                TempPara[i].fVlOutP = TempPara[i].fVlOut + TempPara[i].fVlSum + divOutP;
 				if(((TempChn[i].fBlockTargetTemp - 0.5)<TempChn[i].fCurrentTemperature)&&((TempChn[i].fBlockTargetTemp + 0.5)>TempChn[i].fCurrentTemperature)){
 					TempChn[i].pidRumtime++;
 				}else{
@@ -265,13 +243,15 @@ void PeltierCtrler(void)
 					break;
 		}    
 		 if(TempPara[i].fVlOutP > TempChn[i].MAXPWM){
-                TempPara[i].fVlOutP = TempChn[i].MAXPWM;
-            }
-            else if(TempPara[i].fVlOutP < -TempChn[i].MAXPWM){
-                TempPara[i].fVlOutP = -TempChn[i].MAXPWM;
-            }
-		  SetPWM (i,TempPara[i].fVlOutP);
-		  Van_Device_Printf(2,"ch%d: %3f %3f\n\r",i,TempChn[i].fCurrentTemperature,TempPara[i].fVlOutP);
+             TempPara[i].fVlOutP = TempChn[i].MAXPWM;
+         }
+         else if(TempPara[i].fVlOutP < -TempChn[i].MAXPWM){
+             TempPara[i].fVlOutP = -TempChn[i].MAXPWM;
+         }
+		SetPWM (i,TempPara[i].fVlOutP);
+//		if(i==2){
+//	    	Van_Device_Printf(2,"ch%d: %3f %3f=%3f+%3f+%3f\n\r",i,TempChn[i].fCurrentTemperature,TempPara[i].fVlOutP, TempPara[i].fVlOut,TempPara[i].fVlSum,divOutP);
+//		}
     }
 }
 
@@ -305,8 +285,8 @@ unsigned char ScheduleOperate(unsigned char chn)
         TempChn[chn].cHeatOrRefrig = 1;
         TempChn[chn].fTubeTargetTemp = TempChn[chn].fBlockTargetTemp + TempChn[chn].HOTtemp;
 		TempChn[chn].pidst = PID_OVERHEAT;
-		Van_Device_Printf(2,"\n\rch%d go to st:%d H T:%f O:%f A%f C:%d\n\r",chn,TempChn[chn].pidst,
-			TempChn[chn].fBlockTargetTemp,TempChn[chn].fTubeTargetTemp,TempChn[chn].HOTtemp,TempChn[chn].cOverTempCnter);
+		Van_Device_Printf(2,"\n\rch%d go to st:%d H T:%f O:%f A%f C:%d %f\n\r",chn,TempChn[chn].pidst,
+			TempChn[chn].fBlockTargetTemp,TempChn[chn].fTubeTargetTemp,TempChn[chn].HOTtemp,TempChn[chn].cOverTempCnter,TempChn[chn].OverTempthreshold);
     }
 
     else if(TempChn[chn].fBlockTargetTemp < TempChn[chn].fCurrentTemperature + TempChn[chn].CODEtemp)
@@ -314,8 +294,8 @@ unsigned char ScheduleOperate(unsigned char chn)
         TempChn[chn].cHeatOrRefrig = 0;
         TempChn[chn].fTubeTargetTemp = TempChn[chn].fBlockTargetTemp + TempChn[chn].CODEtemp;
 		TempChn[chn].pidst = PID_OVERHEAT;
-		Van_Device_Printf(2,"go to st:%d  H T:%f O:%f A%f C:%d\n\r",TempChn[chn].pidst,
-			TempChn[chn].fBlockTargetTemp,TempChn[chn].fTubeTargetTemp,TempChn[chn].CODEtemp,TempChn[chn].cOverTempCnter);
+		Van_Device_Printf(2,"go to st:%d  C T:%f O:%f A%f C:%d %f\n\r",TempChn[chn].pidst,
+			TempChn[chn].fBlockTargetTemp,TempChn[chn].fTubeTargetTemp,TempChn[chn].CODEtemp,TempChn[chn].cOverTempCnter,TempChn[chn].OverTempCoolthreshold);
     }
     else
     {
@@ -387,9 +367,9 @@ void InitTempCtlr(){
     }
     
     for(i=0;i<6;i++){         
-        TempPara[i].iKp[0]=TempPara[i].iKp[1]=TempPara[i].iKp[2]=5000;
-        TempPara[i].iKi[0]=TempPara[i].iKi[1]=TempPara[i].iKi[2]=20;
-        TempPara[i].iKd[0]=TempPara[i].iKd[1]=TempPara[i].iKd[2]=8000;
+        TempPara[i].iKp[0]=TempPara[i].iKp[1]=TempPara[i].iKp[2]=12.5;
+        TempPara[i].iKi[0]=TempPara[i].iKi[1]=TempPara[i].iKi[2]=0.05;
+        TempPara[i].iKd[0]=TempPara[i].iKd[1]=TempPara[i].iKd[2]=0;
         
         TempPara[i].HoldPWMa = 0.9197;
         TempPara[i].HoldPWMb = 60.465;

+ 1 - 1
WZYXPCR_NO1.20250726.X/WZYXPCR_NO1.20250726.X/file/PWM.h

@@ -141,7 +141,7 @@ TEMPCTRLEXTERN unsigned int set_Target_temp;
 
 TEMPCTRLEXTERN void PeltierCtrler(void);
 TEMPCTRLEXTERN void CAPPeltierCtrler(void);
-TEMPCTRLEXTERN void SetPWM(unsigned char ucChannel ,long uiDuty);
+TEMPCTRLEXTERN void SetPWM(unsigned char ucChannel , float pwmvalue);
 TEMPCTRLEXTERN void InitPWM(void);
 TEMPCTRLEXTERN void InitTempCtlr(void);
 TEMPCTRLEXTERN unsigned char ScheduleOperate(unsigned char chn);

+ 14 - 0
WZYXPCR_NO1.20250726.X/WZYXPCR_NO1.20250726.X/file/Uart.c

@@ -42,6 +42,20 @@ void Van_Device_Printf(unsigned int printLevel, const char *cmd, ...)
 	return;
 }
 
+void UART3SEND(unsigned int buflen, const char *buf, ...)
+{
+	for(unsigned int i=0; i<buflen; i++){
+		g_ucU3TX_Data[i] = buf[i];
+	} 
+	if(buflen==0)return;
+	while(DMA2CONbits.CHEN);		
+	DMA2CNT=(buflen-1);
+	DMA2CONbits.CHEN  = 1;		
+	DMA2REQbits.FORCE = 1;	
+	return;
+}
+
+
 /*******************************************************************************
  * º¯ÊýÃû³Æ£ºInitUart1
  *******************************************************************************/

+ 2 - 0
WZYXPCR_NO1.20250726.X/WZYXPCR_NO1.20250726.X/file/Uart.h

@@ -183,6 +183,8 @@ void InitUart(void);
 void InitUart2(void);
 void InitUart3(void);
 void UART1SEND(char data);
+void UART3SEND(unsigned int buflen, const char *buf, ...);
+
 unsigned int Check(unsigned char *p,unsigned char num);
 void Uart1_Ack(void);
 void Van_Device_Printf(unsigned int printLevel, const char *cmd, ...);

+ 28 - 7
WZYXPCR_NO1.20250726.X/WZYXPCR_NO1.20250726.X/file/main.c

@@ -40,14 +40,17 @@
 #pragma config APLK = OFF               // Auxiliary Segment Key bits (Aux Flash Write Protection and Code Protection is Disabled)
 
 #include "ABIS_User.h"
+#include "wzyx_protocol.h"
+
  unsigned char VersionNumber[16]="N01.20230823";//¹Ì¼þ°æ±¾ºÅ
  unsigned char HardwareVersionNumber[16]="10062308022300802";//Ó²¼þ°æ±¾ºÅ
  extern unsigned int printtempFlag;
  extern int my_printf(const char* str, ...);
+ 
+ char buf[128] = {};
 int main(void) {   
     unsigned int i;
     unsigned int K;
-
     System_Init();
     POWER_STU1 = 0;                   
     FANOC_Set(3,g_tEE.uiFanLPwm);     
@@ -141,12 +144,30 @@ int main(void) {
 		
         if(printtempFlag == 1){  
             printtempFlag = 0;   
-			 if(!TempChn[0].cPeltierRun){
-	             Van_Device_Printf(2,"temp %f, %f, %f, %f, %f, %f\n\r",
-				TempChn[0].fCurrentTemperature,TempChn[1].fCurrentTemperature,
-				TempChn[2].fCurrentTemperature,TempChn[3].fCurrentTemperature,
-				TempChn[4].fCurrentTemperature,TempChn[5].fCurrentTemperature);
-        	}   
+			for(i=0;i<6;i++){
+				*(float *)(buf+0+i*20)=TempChn[i].fCurrentTemperature;
+				*(float *)(buf+4+i*20)=TempPara[i].fVlOutP;
+				*(float *)(buf+8+i*20)=TempPara[i].fVlOut;
+				*(float *)(buf+12+i*20)=TempPara[i].fVlSum;
+				*(float *)(buf+16+i*20)=TempChn[i].pidst;
+//				*(float *)(buf+0+i*20)=1.1;
+//				*(float *)(buf+4+i*20)=2.2;
+//				*(float *)(buf+8+i*20)=3.3;
+//				*(float *)(buf+12+i*20)=4.4;
+//				*(float *)(buf+16+i*20)=5.5;
+			}
+			packMsgAndsend(0x17,0,buf,120);
+//			 if(!TempChn[0].cPeltierRun)
+//			 {  
+//			 	
+//
+//
+//				
+//	             Van_Device_Printf(2,"tp %f,%f,%f,%f,%f,%f\n\r",
+//				TempChn[0].fCurrentTemperature,TempChn[1].fCurrentTemperature,
+//				TempChn[2].fCurrentTemperature,TempChn[3].fCurrentTemperature,
+//				TempChn[4].fCurrentTemperature,TempChn[5].fCurrentTemperature);
+//        	}   
 //			 Van_Device_Printf_uart1(2,"temp %f, %f, %f, %f, %f, %f\n\r",
 //			TempChn[0].fCurrentTemperature,TempChn[1].fCurrentTemperature,
 //			TempChn[2].fCurrentTemperature,TempChn[3].fCurrentTemperature,

+ 17 - 5
WZYXPCR_NO1.20250726.X/WZYXPCR_NO1.20250726.X/nbproject/Makefile-default.mk

@@ -51,17 +51,17 @@ OBJECTDIR=build/${CND_CONF}/${IMAGE_TYPE}
 DISTDIR=dist/${CND_CONF}/${IMAGE_TYPE}
 
 # Source Files Quoted if spaced
-SOURCEFILES_QUOTED_IF_SPACED=file/ABIS_User.c file/Ad.c file/Da7512.c file/Delay.c file/DMA.c file/DS1802.c file/Interrupt.c file/EEPROM.c file/main.c file/Motor.c file/OC.c file/PIN.c file/PWM.c file/readme.c file/Timer.c file/Uart.c file/Dac5571.c
+SOURCEFILES_QUOTED_IF_SPACED=file/ABIS_User.c file/Ad.c file/Da7512.c file/Delay.c file/DMA.c file/DS1802.c file/Interrupt.c file/EEPROM.c file/main.c file/Motor.c file/OC.c file/PIN.c file/PWM.c file/readme.c file/Timer.c file/Uart.c file/Dac5571.c file/wzyx_protocol.c
 
 # Object Files Quoted if spaced
-OBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/file/ABIS_User.o ${OBJECTDIR}/file/Ad.o ${OBJECTDIR}/file/Da7512.o ${OBJECTDIR}/file/Delay.o ${OBJECTDIR}/file/DMA.o ${OBJECTDIR}/file/DS1802.o ${OBJECTDIR}/file/Interrupt.o ${OBJECTDIR}/file/EEPROM.o ${OBJECTDIR}/file/main.o ${OBJECTDIR}/file/Motor.o ${OBJECTDIR}/file/OC.o ${OBJECTDIR}/file/PIN.o ${OBJECTDIR}/file/PWM.o ${OBJECTDIR}/file/readme.o ${OBJECTDIR}/file/Timer.o ${OBJECTDIR}/file/Uart.o ${OBJECTDIR}/file/Dac5571.o
-POSSIBLE_DEPFILES=${OBJECTDIR}/file/ABIS_User.o.d ${OBJECTDIR}/file/Ad.o.d ${OBJECTDIR}/file/Da7512.o.d ${OBJECTDIR}/file/Delay.o.d ${OBJECTDIR}/file/DMA.o.d ${OBJECTDIR}/file/DS1802.o.d ${OBJECTDIR}/file/Interrupt.o.d ${OBJECTDIR}/file/EEPROM.o.d ${OBJECTDIR}/file/main.o.d ${OBJECTDIR}/file/Motor.o.d ${OBJECTDIR}/file/OC.o.d ${OBJECTDIR}/file/PIN.o.d ${OBJECTDIR}/file/PWM.o.d ${OBJECTDIR}/file/readme.o.d ${OBJECTDIR}/file/Timer.o.d ${OBJECTDIR}/file/Uart.o.d ${OBJECTDIR}/file/Dac5571.o.d
+OBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/file/ABIS_User.o ${OBJECTDIR}/file/Ad.o ${OBJECTDIR}/file/Da7512.o ${OBJECTDIR}/file/Delay.o ${OBJECTDIR}/file/DMA.o ${OBJECTDIR}/file/DS1802.o ${OBJECTDIR}/file/Interrupt.o ${OBJECTDIR}/file/EEPROM.o ${OBJECTDIR}/file/main.o ${OBJECTDIR}/file/Motor.o ${OBJECTDIR}/file/OC.o ${OBJECTDIR}/file/PIN.o ${OBJECTDIR}/file/PWM.o ${OBJECTDIR}/file/readme.o ${OBJECTDIR}/file/Timer.o ${OBJECTDIR}/file/Uart.o ${OBJECTDIR}/file/Dac5571.o ${OBJECTDIR}/file/wzyx_protocol.o
+POSSIBLE_DEPFILES=${OBJECTDIR}/file/ABIS_User.o.d ${OBJECTDIR}/file/Ad.o.d ${OBJECTDIR}/file/Da7512.o.d ${OBJECTDIR}/file/Delay.o.d ${OBJECTDIR}/file/DMA.o.d ${OBJECTDIR}/file/DS1802.o.d ${OBJECTDIR}/file/Interrupt.o.d ${OBJECTDIR}/file/EEPROM.o.d ${OBJECTDIR}/file/main.o.d ${OBJECTDIR}/file/Motor.o.d ${OBJECTDIR}/file/OC.o.d ${OBJECTDIR}/file/PIN.o.d ${OBJECTDIR}/file/PWM.o.d ${OBJECTDIR}/file/readme.o.d ${OBJECTDIR}/file/Timer.o.d ${OBJECTDIR}/file/Uart.o.d ${OBJECTDIR}/file/Dac5571.o.d ${OBJECTDIR}/file/wzyx_protocol.o.d
 
 # Object Files
-OBJECTFILES=${OBJECTDIR}/file/ABIS_User.o ${OBJECTDIR}/file/Ad.o ${OBJECTDIR}/file/Da7512.o ${OBJECTDIR}/file/Delay.o ${OBJECTDIR}/file/DMA.o ${OBJECTDIR}/file/DS1802.o ${OBJECTDIR}/file/Interrupt.o ${OBJECTDIR}/file/EEPROM.o ${OBJECTDIR}/file/main.o ${OBJECTDIR}/file/Motor.o ${OBJECTDIR}/file/OC.o ${OBJECTDIR}/file/PIN.o ${OBJECTDIR}/file/PWM.o ${OBJECTDIR}/file/readme.o ${OBJECTDIR}/file/Timer.o ${OBJECTDIR}/file/Uart.o ${OBJECTDIR}/file/Dac5571.o
+OBJECTFILES=${OBJECTDIR}/file/ABIS_User.o ${OBJECTDIR}/file/Ad.o ${OBJECTDIR}/file/Da7512.o ${OBJECTDIR}/file/Delay.o ${OBJECTDIR}/file/DMA.o ${OBJECTDIR}/file/DS1802.o ${OBJECTDIR}/file/Interrupt.o ${OBJECTDIR}/file/EEPROM.o ${OBJECTDIR}/file/main.o ${OBJECTDIR}/file/Motor.o ${OBJECTDIR}/file/OC.o ${OBJECTDIR}/file/PIN.o ${OBJECTDIR}/file/PWM.o ${OBJECTDIR}/file/readme.o ${OBJECTDIR}/file/Timer.o ${OBJECTDIR}/file/Uart.o ${OBJECTDIR}/file/Dac5571.o ${OBJECTDIR}/file/wzyx_protocol.o
 
 # Source Files
-SOURCEFILES=file/ABIS_User.c file/Ad.c file/Da7512.c file/Delay.c file/DMA.c file/DS1802.c file/Interrupt.c file/EEPROM.c file/main.c file/Motor.c file/OC.c file/PIN.c file/PWM.c file/readme.c file/Timer.c file/Uart.c file/Dac5571.c
+SOURCEFILES=file/ABIS_User.c file/Ad.c file/Da7512.c file/Delay.c file/DMA.c file/DS1802.c file/Interrupt.c file/EEPROM.c file/main.c file/Motor.c file/OC.c file/PIN.c file/PWM.c file/readme.c file/Timer.c file/Uart.c file/Dac5571.c file/wzyx_protocol.c
 
 
 
@@ -191,6 +191,12 @@ ${OBJECTDIR}/file/Dac5571.o: file/Dac5571.c  .generated_files/flags/default/a694
 	@${RM} ${OBJECTDIR}/file/Dac5571.o 
 	${MP_CC} $(MP_EXTRA_CC_PRE)  file/Dac5571.c  -o ${OBJECTDIR}/file/Dac5571.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MP -MMD -MF "${OBJECTDIR}/file/Dac5571.o.d"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1  -mno-eds-warn  -omf=elf -DXPRJ_default=$(CND_CONF)    $(COMPARISON_BUILD)  -O0 -msmart-io=1 -Wall -msfr-warn=off   
 	
+${OBJECTDIR}/file/wzyx_protocol.o: file/wzyx_protocol.c  .generated_files/flags/default/3334bd4b9bd728966db0161488ca9075f59c4d06 .generated_files/flags/default/da39a3ee5e6b4b0d3255bfef95601890afd80709
+	@${MKDIR} "${OBJECTDIR}/file" 
+	@${RM} ${OBJECTDIR}/file/wzyx_protocol.o.d 
+	@${RM} ${OBJECTDIR}/file/wzyx_protocol.o 
+	${MP_CC} $(MP_EXTRA_CC_PRE)  file/wzyx_protocol.c  -o ${OBJECTDIR}/file/wzyx_protocol.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MP -MMD -MF "${OBJECTDIR}/file/wzyx_protocol.o.d"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1  -mno-eds-warn  -omf=elf -DXPRJ_default=$(CND_CONF)    $(COMPARISON_BUILD)  -O0 -msmart-io=1 -Wall -msfr-warn=off   
+	
 else
 ${OBJECTDIR}/file/ABIS_User.o: file/ABIS_User.c  .generated_files/flags/default/de283369ec850fa455129d88340b7cd667cda0f2 .generated_files/flags/default/da39a3ee5e6b4b0d3255bfef95601890afd80709
 	@${MKDIR} "${OBJECTDIR}/file" 
@@ -294,6 +300,12 @@ ${OBJECTDIR}/file/Dac5571.o: file/Dac5571.c  .generated_files/flags/default/96ff
 	@${RM} ${OBJECTDIR}/file/Dac5571.o 
 	${MP_CC} $(MP_EXTRA_CC_PRE)  file/Dac5571.c  -o ${OBJECTDIR}/file/Dac5571.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MP -MMD -MF "${OBJECTDIR}/file/Dac5571.o.d"      -mno-eds-warn  -g -omf=elf -DXPRJ_default=$(CND_CONF)    $(COMPARISON_BUILD)  -O0 -msmart-io=1 -Wall -msfr-warn=off   
 	
+${OBJECTDIR}/file/wzyx_protocol.o: file/wzyx_protocol.c  .generated_files/flags/default/4d66b3f5284dcb743017534750ae53a9fbbccc0e .generated_files/flags/default/da39a3ee5e6b4b0d3255bfef95601890afd80709
+	@${MKDIR} "${OBJECTDIR}/file" 
+	@${RM} ${OBJECTDIR}/file/wzyx_protocol.o.d 
+	@${RM} ${OBJECTDIR}/file/wzyx_protocol.o 
+	${MP_CC} $(MP_EXTRA_CC_PRE)  file/wzyx_protocol.c  -o ${OBJECTDIR}/file/wzyx_protocol.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MP -MMD -MF "${OBJECTDIR}/file/wzyx_protocol.o.d"      -mno-eds-warn  -g -omf=elf -DXPRJ_default=$(CND_CONF)    $(COMPARISON_BUILD)  -O0 -msmart-io=1 -Wall -msfr-warn=off   
+	
 endif
 
 # ------------------------------------------------------------------------------------

+ 2 - 2
WZYXPCR_NO1.20250726.X/WZYXPCR_NO1.20250726.X/nbproject/Makefile-genesis.properties

@@ -1,11 +1,11 @@
 #
-#Thu Feb 05 16:21:44 CST 2026
+#Fri Feb 27 13:54:01 CST 2026
 default.languagetoolchain.version=2.10
 default.Pack.dfplocation=C\:\\Users\\onechip\\.mchp_packs\\Microchip\\dsPIC33E-GM-GP-MC-GU-MU_DFP\\1.0.23
 conf.ids=default
 default.languagetoolchain.dir=D\:\\Program Files\\Microchip\\xc16\\v2.10\\bin
 host.id=1707-dsfu-bg
-configurations-xml=405eddee73ae00eacf24a40a673179a4
+configurations-xml=4bf3288067f8da8b3eb957317f62581a
 default.com-microchip-mplab-mdbcore-PICKit3Tool-PICkit3DbgToolManager.md5=50072f33d27b72924000ca2dca4b7622
 com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=e62346c0c0ecee2637e613b49cb7b7fa
 proj.dir=F\:\\library\\source\\WZYXPCR_NO1.20250726.X\\WZYXPCR_NO1.20250726.X

+ 1 - 0
WZYXPCR_NO1.20250726.X/WZYXPCR_NO1.20250726.X/nbproject/configurations.xml

@@ -36,6 +36,7 @@
       <itemPath>file/Timer.c</itemPath>
       <itemPath>file/Uart.c</itemPath>
       <itemPath>file/Dac5571.c</itemPath>
+      <itemPath>file/wzyx_protocol.c</itemPath>
     </logicalFolder>
     <logicalFolder name="LinkerScript" displayName="链接器文件" projectFiles="true">
     </logicalFolder>

+ 1 - 1
WZYXPCR_NO1.20250726.X/WZYXPCR_NO1.20250726.X/nbproject/private/configurations.xml

@@ -4,7 +4,7 @@
   <defaultConf>0</defaultConf>
   <confs>
     <conf name="default" type="2">
-      <platformToolSN>:=MPLABComm-USB-Microchip:=&lt;vid>04D8:=&lt;pid>900A:=&lt;rev>0002:=&lt;man>Microchip Technology Inc.:=&lt;prod>PICkit 3:=&lt;sn>DEFAULT_PK3 :=&lt;drv>x:=&lt;xpt>h:=end</platformToolSN>
+      <platformToolSN>:=MPLABComm-USB-Microchip:=&lt;vid>04D8:=&lt;pid>900A:=&lt;rev>0002:=&lt;man>Microchip Technology Inc.:=&lt;prod>PICkit 3:=&lt;sn>BUR202239188:=&lt;drv>x:=&lt;xpt>h:=end</platformToolSN>
       <languageToolchainDir>D:\Program Files\Microchip\xc16\v2.10\bin</languageToolchainDir>
       <mdbdebugger version="1">
         <placeholder1>place holder 1</placeholder1>

+ 2 - 0
WZYXPCR_NO1.20250726.X/WZYXPCR_NO1.20250726.X/nbproject/private/private.xml

@@ -4,6 +4,8 @@
     <open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
         <group>
             <file>file:/F:/library/source/WZYXPCR_NO1.20250726.X/WZYXPCR_NO1.20250726.X/file/Uart.c</file>
+            <file>file:/F:/library/source/WZYXPCR_NO1.20250726.X/WZYXPCR_NO1.20250726.X/file/Delay.c</file>
+            <file>file:/F:/library/source/WZYXPCR_NO1.20250726.X/WZYXPCR_NO1.20250726.X/file/PWM.c</file>
             <file>file:/F:/library/source/WZYXPCR_NO1.20250726.X/WZYXPCR_NO1.20250726.X/file/Motor.c</file>
             <file>file:/F:/library/source/WZYXPCR_NO1.20250726.X/WZYXPCR_NO1.20250726.X/file/DS1802.c</file>
             <file>file:/F:/library/source/WZYXPCR_NO1.20250726.X/WZYXPCR_NO1.20250726.X/file/main.c</file>