Browse Source

【主线待合】超时时间改为串口属性,不再是靠全局宏定义统一决定

master
Lizongdi 6 days ago
parent
commit
8640356be8
  1. 7
      peripheral/com.c
  2. 2
      peripheral/include/com.h

7
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); rd_RingbufferReset(ptComCtrl->m_stComBuf.m_ptSend);
ptComCtrl->m_pfSend = _pfSend; ptComCtrl->m_pfSend = _pfSend;
ptComCtrl->m_iDevIndex = -1; ptComCtrl->m_iDevIndex = -1;
ptComCtrl->m_iRecvTime = RECV_TIMEOUT;
TMutiDev *ptMutiDev = RD_CALLOC(1, sizeof(TMutiDev)); TMutiDev *ptMutiDev = RD_CALLOC(1, sizeof(TMutiDev));
ptMutiDev->m_pfCheck = _pfCheck; ptMutiDev->m_pfCheck = _pfCheck;
@ -93,6 +94,12 @@ TComCtrl *rd_ComCreate(cbk_ComCheck _pfCheck, cbk_ComDecode _pfDecode, cbk_ComSe
return ptComCtrl; 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) void rd_ComAddDev(TComCtrl *_ptComCtrl, cbk_ComCheck _pfCheck, cbk_ComDecode _pfDecode)
{ {
TMutiDev *ptMutiDev = RD_CALLOC(1, sizeof(TMutiDev)); TMutiDev *ptMutiDev = RD_CALLOC(1, sizeof(TMutiDev));

2
peripheral/include/com.h

@ -102,6 +102,7 @@ typedef struct
UT_array *m_pMutiDevArray; UT_array *m_pMutiDevArray;
cbk_ComSend m_pfSend; cbk_ComSend m_pfSend;
void *m_pUserData; void *m_pUserData;
int m_iRecvTime; // check返回0时的超时时间
}TComCtrl; }TComCtrl;
/*==============================================* /*==============================================*
@ -114,6 +115,7 @@ typedef struct
* routines' or functions' implementations * * routines' or functions' implementations *
*----------------------------------------------*/ *----------------------------------------------*/
TComCtrl *rd_ComCreate(cbk_ComCheck _pfCheck, cbk_ComDecode _pfDecode, cbk_ComSend _pfSend, int _iSize, void *_pUserData); 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); void rd_ComAddDev(TComCtrl *_ptComCtrl, cbk_ComCheck _pfCheck, cbk_ComDecode _pfDecode);
int rd_ComDelete(TComCtrl *_ptComCtrl); int rd_ComDelete(TComCtrl *_ptComCtrl);
int rd_ComSend(TComCtrl *_ptComCtrl, char *_pBuffer, uint32_t _iSize); int rd_ComSend(TComCtrl *_ptComCtrl, char *_pBuffer, uint32_t _iSize);

Loading…
Cancel
Save