Serial Communication Problem

Hi All,

I am new with rabbit uP and dynamic C.
i try to communicate with Thermostat with RS485 communication line.
but i have a problem, i never catch any answer after i had send command.

my schematic is like this:

PC3--------------------RO
Ground ----------------RE
PF4--------------------DE
PC2--------------------DI
Max3483CPA (RS485 Driver)

my program is:
void main()
{
RCM33xxInit();
WatchDog = VdGetFreeWd(132);
while(1){
VdHitWd( WatchDog );
costate{
wfd Branch0();
}
}
}

cofunc void Branch0(){

BYTE i,j;

for(i=0x01;i<0xEB;++i){
SendPackage.ID = i;
SendPackage.CMD = 0;
SendPackage.Count = sizeof(SendPackage.ETOP_Data);

    for(j=0;j&lt;8;++j)
     	SendPackage.ETOP_Data[j] = 0x00;

     SendPackage.CheckSum = 0;
     wfd Branch0Pooling(&amp;SendPackage,&amp;ReturnPackage);

}
}

cofunc void Branch0Pooling(ETOP_Command *Data,ETOP_Thermostats *Result){

WORD Checksum;

BYTE bDataVal;
BYTE bDataDir;
BYTE bTemp,bTemp2;
BYTE send[13];

bDataVal = BitRdPortI(PFDR,4);
bDataDir = BitRdPortI(PFDDR,4);

serCopen(9600);
serCwrFlush();

/* Set the DE */
BitWrPortI(PFDR,&PFDRShadow,1,4);
BitWrPortI(PFDDR,&PFDDRShadow,1,4);

Checksum =0xFFFF;
send[0]=SendPackage.ID;
Checksum = calccrc(send[0],Checksum);
send[1]=SendPackage.CMD;
Checksum = calccrc(send[1],Checksum);
send[2]=SendPackage.Count;
Checksum = calccrc(send[2],Checksum);

for(bTemp=3;bTemp<11;++bTemp){
send[(bTemp)]=SendPackage.ETOP_Data[(bTemp-3)];
Checksum = calccrc(send[(bTemp)],Checksum);
}

SendPackage.CheckSum = Checksum;

bTemp = (BYTE)(((SendPackage.CheckSum)&0xFF00)>>8);
send[11]= bTemp;
bTemp = (BYTE)((SendPackage.CheckSum)&0x00FF);
send[12]= bTemp;

serCparity(PARAM_OPARITY);

for(bTemp=0;bTemp<13;++bTemp)
wfd cof_serCputc(send[bTemp]);

while (serCwrFree() != COUTBUFSIZE);
while (BitRdPortI(SCSR, 3) || BitRdPortI(SCSR, 2));
waitfor(DelayMs(150));

/* Clear the DE */
BitWrPortI(PFDR,&PFDRShadow,0,4);
BitWrPortI(PFDDR,&PFDDRShadow,0,4);

serCclose();
}

I am going to interfacing with thermostat(9600 baud rate - 1 stop bit - 8 bit data - odd parity -1 stop bit). it is 11 byte data, RTU format. the 13 byte are command,ID,length of data, 8 byte data and 2 byte checksum.

i had tapping the data which i send to RS485 Line using realterm software. with this software i am calculate with same fuction(it mean i had correct CRC… i guest…)…

but i never receive any reply…

there is wrong with my code?

Please help my guys

Thx

Best Regards,
Nurul Hari Lesmono