This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

problem with transfer parameter into subroutine

I am having some problem to pass parameter into subroutine.

I have defined:

BOOLEAN CRC_Message_Verify(UINT8 nbyte);

in my program, I have this line:

crc_ok = CRC_Message_Verify(SpiLoadIndex);

in which, SpiLoadIndex is defined as UINT8 xdata type,

when I single step debugging, before calling CRC_Message_Verify function, SpiLoadIndex = 5, and inside the subroutine, nbyte = 95. How come nbyte is totally different? Any ideas?

Parents
  • The chip is Analog device ADuC848, and the debugger is USpear from accutron ltd, it is a two-pin emulator.
    I put SpiLoadIndex and nbyte in the watch window and I can see these two numbers do not match. And yes, I am stepping inside the function and there is only one place calling this function. It is very strange.

Reply
  • The chip is Analog device ADuC848, and the debugger is USpear from accutron ltd, it is a two-pin emulator.
    I put SpiLoadIndex and nbyte in the watch window and I can see these two numbers do not match. And yes, I am stepping inside the function and there is only one place calling this function. It is very strange.

Children