/************************************************************************* * eMBMasterRTUStart * Изначально приемник в состоянии STATE_M_RX_INIT. Запускаем таймер на t3.5 * Если символ не получен, то переводим приемник в STATE_M_RX_IDLE. * гарантировано пока не увидим начало фрейма(t3.5) не примем никакого мусора. *************************************************************************/ void eMBMasterRTUStart( void ) { ENTER_CRITICAL_SECTION( ); eRcvState = STATE_M_RX_INIT; // vMBMasterPortSerialEnable( TRUE, FALSE ); // Режим приёма vMBMasterPortTimersT35Enable( ); // Старт таймера t3.5 символа EXIT_CRITICAL_SECTION( ); }
void eMBMasterRTUStart( void ) { ENTER_CRITICAL_SECTION( ); /* Initially the receiver is in the state STATE_M_RX_INIT. we start * the timer and if no character is received within t3.5 we change * to STATE_M_RX_IDLE. This makes sure that we delay startup of the * modbus protocol stack until the bus is free. */ eRcvState = STATE_M_RX_INIT; vMBMasterPortSerialEnable( TRUE, FALSE ); vMBMasterPortTimersT35Enable( ); EXIT_CRITICAL_SECTION( ); }