📄 control_module.c
字号:
/************************* 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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -