Ver Fonte

采用预留两路温度,上报环境温度和荧光模块温度

yidong.fan há 1 mês atrás
pai
commit
78dd7356da

+ 4 - 0
WZYXPCR_NO1.20250726.X/WZYXPCR_NO1.20250726.X/file/Interrupt.c

@@ -220,6 +220,10 @@ void __attribute__((interrupt,auto_psv)) _T6Interrupt (void)
     if(SampleNo > 2) {     //100ms
         SampleNo=0;
         T4CONbits.TON=1;    //off the T4  for 1ms
+        ms100conter++;
+		if(ms100conter%100 == 0){
+			s10flag = 1;
+		}
     }
 
     

+ 3 - 1
WZYXPCR_NO1.20250726.X/WZYXPCR_NO1.20250726.X/file/Interrupt.h

@@ -13,7 +13,9 @@ EXTERN_INTERRUPT unsigned char g_ucSampleNo_STU;
 EXTERN_INTERRUPT unsigned char g_ucSTATE_RUN;
 EXTERN_INTERRUPT unsigned char g_ucSTATE_CAP;
 EXTERN_INTERRUPT unsigned char ADC7606Enable;
-
+EXTERN_INTERRUPT unsigned int ms100conter;
+EXTERN_INTERRUPT unsigned int s10flag;
+EXTERN_INTERRUPT float systemp;
 #define     SCAN_X       720
 #define     SCAN_Y       480
 #define     REAGENT_INSTANCE    360 

+ 8 - 10
WZYXPCR_NO1.20250726.X/WZYXPCR_NO1.20250726.X/file/Uart.c

@@ -1445,7 +1445,7 @@ void Uart1_Ack(void)
             }else{
                 g_cTubeTempAriv = 0;
             } 
-            g_uiFrmLth = 25;
+            g_uiFrmLth = 23;
             g_ucU1TX_Data[0]  = FRAME_HEAD;
             g_ucU1TX_Data[1]  = g_ucCMD1|0X80;
             g_ucU1TX_Data[2]  = 0;
@@ -1462,15 +1462,13 @@ void Uart1_Ack(void)
             g_ucU1TX_Data[13] = (unsigned char) (TempChn[4].fCurrentTemperature*100.0);
             g_ucU1TX_Data[14] = (unsigned int)(TempChn[5].fCurrentTemperature*100.0) >> 8;
             g_ucU1TX_Data[15] = (unsigned char) (TempChn[5].fCurrentTemperature*100.0);
-            g_ucU1TX_Data[16] = (unsigned int)(TempChn[5].fCurrentTemperature*100.0) >> 8;
-            g_ucU1TX_Data[17] = (unsigned char) (TempChn[5].fCurrentTemperature*100.0);
-            g_ucU1TX_Data[18] = (unsigned int)(TempChn[5].fCurrentTemperature*100.0) >> 8;
-            g_ucU1TX_Data[19] = (unsigned char) (TempChn[5].fCurrentTemperature*100.0);   
-            g_ucU1TX_Data[20] = (unsigned int)(TempChn[6].fCurrentTemperature*100.0) >> 8;
-            g_ucU1TX_Data[21] = (unsigned char) (TempChn[6].fCurrentTemperature*100.0);            
-            g_ucU1TX_Data[22] = g_cTubeTempAriv;
-            g_ucU1TX_Data[23] = Flag_STATUS; //״̬λ
-            g_ucU1TX_Data[24] = (unsigned char) Check(g_ucU1TX_Data, g_uiFrmLth - 1);
+            g_ucU1TX_Data[16] = (unsigned int)(TempChn[6].fCurrentTemperature*100.0) >> 8;
+            g_ucU1TX_Data[17] = (unsigned char) (TempChn[6].fCurrentTemperature*100.0);
+            g_ucU1TX_Data[18] = (unsigned int)(systemp*100.0) >> 8;
+            g_ucU1TX_Data[19] = (unsigned char) (systemp*100.0);           
+            g_ucU1TX_Data[20] = g_cTubeTempAriv;
+            g_ucU1TX_Data[21] = Flag_STATUS; //״̬λ
+            g_ucU1TX_Data[22] = (unsigned char) Check(g_ucU1TX_Data, g_uiFrmLth - 1);
                         
             while(DMA3CONbits.CHEN);        
             DMA3CNT=(g_uiFrmLth-1);

+ 8 - 15
WZYXPCR_NO1.20250726.X/WZYXPCR_NO1.20250726.X/file/main.c

@@ -40,7 +40,7 @@
 #pragma config APLK = OFF               // Auxiliary Segment Key bits (Aux Flash Write Protection and Code Protection is Disabled)
 
 #include "ABIS_User.h"
- unsigned char VersionNumber[16]="N01.20230823";//미숭경굶뵀
+ unsigned char VersionNumber[16]="N01.20260224";//미숭경굶뵀
  unsigned char HardwareVersionNumber[16]="10062308022300802";//袒숭경굶뵀
  
 int main(void) {   
@@ -49,7 +49,8 @@ int main(void) {
 
     System_Init();
     POWER_STU1 = 0;                   
-    FANOC_Set(3,g_tEE.uiFanLPwm);       
+    FANOC_Set(3,g_tEE.uiFanLPwm);     
+	Ds18Init();
 
     for(i=0;i<16;i++){
         EE_write(0x30+i,VersionNumber[i]);  
@@ -80,19 +81,7 @@ int main(void) {
     }
     POWER_STU1 = 1;                    
   
- 
-//     while(1){
-//        K = PIC_IN2;
-//        if(K == 0){
-//            POWER_STU1 = ~POWER_STU1;
-//        } else{
-//            break;
-//        }
-//        Delay_ms(50);
-//        if(g_ucUART1_flag == 1){  
-//            Uart1_Ack();                       
-//        }
-//    }
+
     
     Init_T6();             
     CalculateSModeLineX(g_uiMotorXPeriod, g_tEE.uiXPulseAcc, MOTORX_FREQMAX, MOTORX_FREQMIN, MOTORX_XFLEXIBLE);   
@@ -123,5 +112,9 @@ int main(void) {
         if(g_ucUART1_flag == 1){  
             Uart1_Ack();                       
         }
+		if(s10flag == 1){
+			s10flag = 0;
+			systemp = DS18GetTemp();
+		}
     }  
 }