diff --git a/freemodbus-v1.6/mbrtu.c b/freemodbus-v1.6/mbrtu.c index 0e7c9fd5bd58a19912ebeb1e177fba36c0be4c8c..b1b5813c05256a227ed0018772d70e381c42a19e 100644 --- a/freemodbus-v1.6/mbrtu.c +++ b/freemodbus-v1.6/mbrtu.c @@ -197,6 +197,11 @@ eMBRTUSend( MBTypeDef* psModbus, UCHAR ucSlaveAddress, const UCHAR * pucFrame, /* Activate the transmitter. */ psModbus->eSndState = STATE_TX_XMIT; + //启动第一次发送,这样才可以进入发送完成中断 + psModbus->xMBPortSerialPutByte( ( CHAR )*psModbus->pucSndBufferCur ); + psModbus->pucSndBufferCur++; /* next byte in sendbuffer. */ + psModbus->usSndBufferCount--; + //使能发送状态,禁止接收状态 psModbus->vMBPortSerialEnable( FALSE, TRUE ); } else