Instant Interrupts and HSERIN


Closed Thread
Results 1 to 27 of 27

Hybrid View

  1. #1
    Join Date
    Aug 2008
    Posts
    66


    Did you find this post helpful? Yes | No

    Default

    I think the main loop is taking too long, hence the serial interrupt can't receive all 8 bytes properly. Still trying to reduce the serial processing time in main loop.

  2. #2
    Join Date
    Jul 2003
    Location
    Colorado Springs
    Posts
    4,959


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by Pic2008 View Post
    I think the main loop is taking too long,...
    Could be, but it won't affect Instant Interrupts. It doesn't pay any attention to what the main loop is doing. Unlike ON INTERRUPT.

    But if there was something in the main loop.
    Like Steve may have hinted ...

    Can't say without more information/code.

    Gimmee gimmmee ....
    <br>
    DT

  3. #3
    Join Date
    Aug 2008
    Posts
    66


    Did you find this post helpful? Yes | No

    Default

    Note that in the Int_RX ISR, the INT is disabled.
    In the main loop, I will check the serial data whether the serial data match a predefined format before it is enabled again in main loop. I didn't use any pause for this serial data checking, I want it to check all 8 bytes before determining which command to execute. I use RB INT, but this INT is not trigger during serial comm. I also use ADC in main loop with PAUSE.

    One thing I'm not really sure is how does "HSERIN 100, Timeout, [ STR datain\8]" really work in ISR? From this thread, it said it receive 2 bytes, this means ISR need to execute another 3 times to receive 8 bytes completely?
    If the packet size is always 8 bytes, declaring datain as 8 bytes is sufficient right?

    I remembered if PC send 8 bytes to PIC, the LED is not toggle, meaning this Int_RX ISR is not trigger at all.

    Should I use "@ INT_DISABLE RX_INT" in ISR or main loop? When is the proper time to enable RX_INT again?
    Last edited by Pic2008; - 30th January 2009 at 05:18.

  4. #4
    Join Date
    Aug 2008
    Posts
    66


    Did you find this post helpful? Yes | No

    Default

    After going through the code over and over again, I still can't find the problem until my colleague check her application code which sends the 8 bytes. There is a bug from her application.

    Now, the problem is solved, PIC confirmed can receive 8 bytes using DT interrupt.

    Thanks for all the guidance.

Similar Threads

  1. Hserin with Instant Interrupts.
    By ronjodu in forum Serial
    Replies: 17
    Last Post: - 30th December 2014, 20:17
  2. HSerin problems on power up
    By Luckyborg in forum Serial
    Replies: 8
    Last Post: - 21st April 2009, 19:49
  3. TMR0 interrupt and HSERIN
    By boban in forum mel PIC BASIC Pro
    Replies: 2
    Last Post: - 2nd September 2008, 11:48
  4. Usbin and hserin
    By mpardinho in forum mel PIC BASIC Pro
    Replies: 0
    Last Post: - 27th October 2007, 15:26
  5. HserIn and Interrupts
    By rwskinner in forum mel PIC BASIC Pro
    Replies: 7
    Last Post: - 5th December 2006, 07:15

Members who have read this thread : 0

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts