Jump to content
Sign in to follow this  
LcSD53

Debugging Interrups

Recommended Posts

...
volatile bit ser_rcif @ PIR1.RCIF; // RCIF flag
...
void interrupt(void)
{
 if (ser_rcif) {  //## USART Interrupt
   char ch = rcreg;  // get char and clear RCIF flag
   buffer_in(ch);     // put in a ring buffer
 }
}
void main(void)
{
...
 for(;;) {
   ser_rcif = 1;  // sets RCIF (usart RX flag)
   nop(); nop(); // some delay for latency
   char = buffer_out(); // get char from buffer
...
   do_something();
 }
}

 

While debugging, stepping into [F11] the line ser_rcif = 1; sets the RCIF flag and generates an interruption (fine!). This way (embedding the debug symmulation into the code) it is possible to debug the interrupt function.

 

REQUEST:

• a way to set values at the Watch Bar (acceptable) OR

• an Interrupt Bar for set/clear flags (with side effects) and to set vars (better)

 

SO we could ease step thru interrupt code!

 

Regards, Luiz Domingues.

Share this post


Link to post
Share on other sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...