control_module.c

来自「standdard test protocol」· C语言 代码 · 共 62 行

C
62
字号
/************************* Set Module Active ***********************/
 void module_control( void )
{
   GetIPAddress  = RxBuff[1];
   ModuleAddress = RxBuff[2];
   AddressSub    = RxBuff[4];
   SubStatus     = RxBuff[5];

   if( GetIPAddress == IPConfig )
   {
      switch( ModuleAddress )
      {
         case RELAY_MODULE :    stat = SubStatus & 0x01;
                                DatBuff[0] = relay_control( );
                                uart_transmit(  ModuleAddress, AddressSub, PKG_TX );
                                Break;
         case ADCI2C_MODULE:    DatBuff[0] = adc_data( );
                                uart_transmit(  ModuleAddress, AddressSub, PKG_TX );
                                Break;
         case ADC10BIT_MODULE : AdcValue = adc_10bit_channel( );
                                DatBuff[1] = ( AdcValue & 0xFF );
                                DatBuff[0] = ( AdcValue >> 8 );
                                uart_transmit(  ModuleAddress, AddressSub, PKG_TX + 1);
                                Break;
         case INPUT_MODULE :    DatBuff[0] = input_control( AddressSub, SubStatus );
                                uart_transmit(  ModuleAddress, AddressSub, PKG_TX );
                                Break;
         case OUTPUT_MODULE :   DatBuff[0] = output_control( AddressSub, SubStatus );
                                uart_transmit(  ModuleAddress, AddressSub, PKG_TX );
                                Break;
         case INT_MODULE :      DatBuff[0] = interrupt_control( AddressSub, SubStatus );
                                uart_transmit(  ModuleAddress, AddressSub, PKG_TX );
                                Break;

      }
   }
   else if( GetIPAddress == 0x00 )
   {
      if( ModuleAddress == RELAY_MODULE )
      {
         InpFlag = FALSE;
         IntFlag = FALSE;
         clear_relay_all( );
         if( SetOutput_RD )
         {
            output_d( 0x00 );
            MemPort = 0x00;
         }
      }
   }
}
/******************************************************************/

 /*printf("\n\rADCI2C Module Active");
 printf("\n\rADDSUB = %u",ADDSUB);*/






⌨️ 快捷键说明

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