Variable declaration order

    <p>
     Hi,<br/>
     I would like to know why my variables are not declared in the order i want.<br/>
     I join my Vissim diagram and the C code<br/>
     It's in <i>CarteMicroAmbiance.vsm::Micro d'ambiance.Compound.RX/TX.Data</i><br/>
     And the declarations are at line 164-167 in CarteMicroAmbiance.c<br/>

    </p>

I can not find any attachments.

I can not find any attachments.

Sorry

Sorry

OK, I see the problem. You

OK, I see the problem. You expected that the variables R1,R2,R3,R4 would be assigned in order as they connected to the compound block edge. The problem is that the R variables have multiple consumers, and ordering is enforced by either vertical position of consumer or edge connection to an enabled/custom rate compound. Normal compounds that do not have custom execution (no enabling or custom rate) have no effect on execution order.
To fix this, put the 4 SCI reads into a compound that is enabled and trigger with a constant 1 as in the attached update to your diagram.
Another problem with your diagram was you used an int cast in an expression block that created 32 bit long word out of 4 packet bytes. The int type is only 16 bits on the c2000 so you must use long as your cast.
See attached update to your diagram.

Ok, thank you very much!

Ok, thank you very much!