Skip to content

Commit a372d45

Browse files
Merge pull request #26 from TimerOverflow/20210408
20210408
2 parents 6f401f5 + 2ba866c commit a372d45

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

AvrModbus.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
#include "AvrModbus.h"
1010
#include "crc16.h"
1111
/*********************************************************************************/
12-
#if(AVR_MODBUS_REVISION_DATE != 20210318)
12+
#if(AVR_MODBUS_REVISION_DATE != 20210408)
1313
#error wrong include file. (AvrModbus.h)
1414
#endif
1515
/*********************************************************************************/
@@ -928,6 +928,7 @@ tU8 AvrModbusMasterAddSlavePollData(tag_AvrModbusMasterCtrl *Master, tU8 Id, enu
928928
void AvrModbusMasterRemoveSlave(tag_AvrModbusMasterCtrl *Master, tU8 Id)
929929
{
930930
tag_AvrModbusMasterSlaveInfo *Slave;
931+
tag_AvrModbusMasterSlavePollData *BackupPollData;
931932

932933
/*
933934
1) 인수
@@ -950,8 +951,9 @@ void AvrModbusMasterRemoveSlave(tag_AvrModbusMasterCtrl *Master, tU8 Id)
950951

951952
if(Slave != null)
952953
{
953-
free(Slave->PollData);
954+
BackupPollData = (tag_AvrModbusMasterSlavePollData *) realloc(Slave->PollData, sizeof(tag_AvrModbusMasterSlavePollData));
954955
memset(Slave, 0, sizeof(tag_AvrModbusMasterSlaveInfo));
956+
Slave->PollData = BackupPollData;
955957
Master->AddedSlave--;
956958
}
957959
}

AvrModbus.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,13 @@
99
/*********************************************************************************/
1010
#include "AvrUart.h"
1111
/*********************************************************************************/
12-
#define AVR_MODBUS_REVISION_DATE 20210318
12+
#define AVR_MODBUS_REVISION_DATE 20210408
1313
/*********************************************************************************/
1414
/** REVISION HISTORY **/
1515
/*
16+
2021. 04. 08. - 2021. 03. 18. 에서 잘 못 수정한 부분 수정. AvrModbusMasterRemoveSlave() 후 AvrModbusMasterAddSlave()하면 슬레이브 호출을
17+
Jeong Hyun Gu 정상적으로 하지 못하는 문제 수정.
18+
1619
2021. 03. 18. - Master파트 tag_AvrModbusMasterSlavePollData는 AvrModbusMasterAddSlave(), AvrModbusMasterAddSlavePollData() 호출할 때
1720
Jeong Hyun Gu 할당 하게 되어 있는데, Master Init 시점에서 메모리 동적할당 성공여부를 확인할 수 없음.
1821
AvrModbusMasterAddSlavePollData()는 보통 잘 사용하지 않으므로 AvrModbusMasterGeneralInit() 시점에서 미리 1개의 tag_AvrModbusMasterSlavePollData를

0 commit comments

Comments
 (0)