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

How to pass sbit variables to other functions?

Hi All,

I am running into problem, where I could not pass sbit variables to a function.

Here's an example:

My SBIT definitions:

sbit OLD_JTAG_TCK = 0xB0+3;
sbit NEW_JTAG_TCK = 0x80+7;

My Function:
void Pulse_TCK(bit sbJTAG_TCK)
{
sbJTAG_TCK = 1;
}

My Main code:

if (old_hardware)
{
Pulse_TCK(OLD_JTAG_TCK)
}
else
{
Pulse_TCK(NEW_JTAG_TCK)
}
For some reason, the above code does not work as I dont see any activity on the TCK pins. Can anyone please help me how to resolve this issue?. Note that I had used the type bit in my function parameter instead of sbit as the later gives syntax error.

Parents
  • they both dont fit into the memory.

    Well, I did say you "could possibly" go all this far, not that you absolutely should do that. You just found the reason for that caution.

    If you can't afford two complete copies, you can't move the conditional all this far out of the main loops --- so don't do that. Move it up only to a byte-level or block-level writing routine, or whatever other subdivision size fits your protocol.

Reply
  • they both dont fit into the memory.

    Well, I did say you "could possibly" go all this far, not that you absolutely should do that. You just found the reason for that caution.

    If you can't afford two complete copies, you can't move the conditional all this far out of the main loops --- so don't do that. Move it up only to a byte-level or block-level writing routine, or whatever other subdivision size fits your protocol.

Children