diff --git a/peripheral/com.c b/peripheral/com.c index 5df5e17..8a08676 100644 --- a/peripheral/com.c +++ b/peripheral/com.c @@ -82,6 +82,7 @@ TComCtrl *rd_ComCreate(cbk_ComCheck _pfCheck, cbk_ComDecode _pfDecode, cbk_ComSe rd_RingbufferReset(ptComCtrl->m_stComBuf.m_ptSend); ptComCtrl->m_pfSend = _pfSend; ptComCtrl->m_iDevIndex = -1; + ptComCtrl->m_iRecvTime = RECV_TIMEOUT; TMutiDev *ptMutiDev = RD_CALLOC(1, sizeof(TMutiDev)); ptMutiDev->m_pfCheck = _pfCheck; @@ -93,6 +94,12 @@ TComCtrl *rd_ComCreate(cbk_ComCheck _pfCheck, cbk_ComDecode _pfDecode, cbk_ComSe return ptComCtrl; } +void rd_ComSetRecvTime(TComCtrl *_ptComCtrl, int _iRecvTime) +{ + if (NULL == _ptComCtrl || _iRecvTime <= 0) return; + _ptComCtrl->m_iRecvTime = _iRecvTime; +} + void rd_ComAddDev(TComCtrl *_ptComCtrl, cbk_ComCheck _pfCheck, cbk_ComDecode _pfDecode) { TMutiDev *ptMutiDev = RD_CALLOC(1, sizeof(TMutiDev)); diff --git a/peripheral/include/com.h b/peripheral/include/com.h index c2ddf8d..25674a9 100644 --- a/peripheral/include/com.h +++ b/peripheral/include/com.h @@ -102,6 +102,7 @@ typedef struct UT_array *m_pMutiDevArray; cbk_ComSend m_pfSend; void *m_pUserData; + int m_iRecvTime; // check返回0时的超时时间 }TComCtrl; /*==============================================* @@ -114,6 +115,7 @@ typedef struct * routines' or functions' implementations * *----------------------------------------------*/ TComCtrl *rd_ComCreate(cbk_ComCheck _pfCheck, cbk_ComDecode _pfDecode, cbk_ComSend _pfSend, int _iSize, void *_pUserData); +void rd_ComSetRecvTime(TComCtrl *_ptComCtrl, int _iRecvTime); void rd_ComAddDev(TComCtrl *_ptComCtrl, cbk_ComCheck _pfCheck, cbk_ComDecode _pfDecode); int rd_ComDelete(TComCtrl *_ptComCtrl); int rd_ComSend(TComCtrl *_ptComCtrl, char *_pBuffer, uint32_t _iSize);