Interrupt mystery - need some guru help


Closed Thread
Results 1 to 40 of 44

Hybrid View

  1. #1
    skimask's Avatar
    skimask Guest


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by xnihilo View Post
    Please, no more riddles.
    There's only one riddle...why haven't you read the section I specified earlier?
    It's right there in the datasheet...Section 4.2.3, 2nd paragraph.

  2. #2
    xnihilo's Avatar
    xnihilo Guest


    Did you find this post helpful? Yes | No

    Angry

    Quote Originally Posted by skimask View Post
    There's only one riddle...why haven't you read the section I specified earlier?
    It's right there in the datasheet...Section 4.2.3, 2nd paragraph.
    I did.
    Never mind, I will ask in another forum.

    I think the problem comes from the fact that my RA3 is linked to nothing. I will connect it to 5V via a 10K resistor.

  3. #3
    skimask's Avatar
    skimask Guest


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by xnihilo View Post
    Never mind, I will ask in another forum.
    I think the problem comes from the fact that my RA3 is linked to nothing. I will connect it to 5V via a 10K resistor.
    Hey, I'm just trying to help you learn how to read a datasheet...or at least read between the lines in a datasheet. Some of the information is a bit subtle.
    And yes, it's a distinct possibility that a floating input could be triggering something it shouldn't.
    Last edited by skimask; - 21st March 2008 at 00:44.

  4. #4
    Join Date
    Dec 2007
    Posts
    13


    Did you find this post helpful? Yes | No

    Wink Interrupt mystery -

    Re-Read the replys the Clue to solve your mystery is "I.O.C."...
    hopes this helps just a little

  5. #5
    Join Date
    Mar 2004
    Location
    UK-Midlands
    Posts
    84


    Did you find this post helpful? Yes | No

    Default

    Hi xnihilo,

    Don't get upset! We are only trying to help.

    A lot of posts the user just wants the answer without learning the ways of Microchip and the PIC's. They learn how to solve that problem but not how to understand the datasheet.
    Don't get me wrong, I have spent hours pulling out my hair and after posting the problem it turns out to be a simple mistake that I have made. We are all human.

    The important part of the datasheet is this bit,

    'For enabled interrupt-on-change pins, the values are
    compared with the old value latched on the last read of
    PORTA
    . The ‘mismatch’ outputs of the last read are
    OR’d together to set the PORTA Change Interrupt Flag
    bit (RAIF) in the INTCON register (Register 2-3).'

    The following tip is the last I can give. The next step is to write the program for you!

    Read the port before enabling the interupt!!!

    Regards,
    Bob

  6. #6
    Join Date
    Dec 2007
    Posts
    13


    Did you find this post helpful? Yes | No

    Post Interrupt mystery -

    A little more help. remember if any pins change state the RAIF is set in the INTCON register, you must end any mismatch on the port first then reset the RAIF bit. Can't be much more clear than this

    Mike

  7. #7
    xnihilo's Avatar
    xnihilo Guest


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by BobP View Post
    Hi xnihilo,

    Don't get upset! We are only trying to help.

    A lot of posts the user just wants the answer without learning the ways of Microchip and the PIC's. They learn how to solve that problem but not how to understand the datasheet.
    Don't get me wrong, I have spent hours pulling out my hair and after posting the problem it turns out to be a simple mistake that I have made. We are all human.

    The important part of the datasheet is this bit,

    'For enabled interrupt-on-change pins, the values are
    compared with the old value latched on the last read of
    PORTA
    . The ‘mismatch’ outputs of the last read are
    OR’d together to set the PORTA Change Interrupt Flag
    bit (RAIF) in the INTCON register (Register 2-3).'

    The following tip is the last I can give. The next step is to write the program for you!

    Read the port before enabling the interupt!!!

    Regards,
    Bob
    Come on! I know i sound stupid but i am not.
    i DO read porta bits individually prior to enabling intcon, even if i maybe didn't mention it.
    the int occurs anyway. when i outout the state of porta at the begining of interrupt routine 2 strange things can be noticed. it seems it is ra3 that triggers the interrupt. however i used the same program structure for another project and i didn'have such problem. even if the ra3 was left floating.
    second thing: porta.5 value is not what it is supposed to be. with no wpu and set low with trisa, it is high when interrupt occurs. dammit.

    the complete source code is at:
    http://users.edpnet.be/charlesetchri...g/se210308.pbp

  8. #8
    Join Date
    May 2004
    Location
    NW France
    Posts
    3,653


    Did you find this post helpful? Yes | No

    Default

    Hi,

    I do hate war games ... ( except the film ...) BUT

    Code:
    FOR i = 0 to 5
        aport[i] = porta.0(i)       'mirror the pins states into the array
    NEXT i
    Are you really sure of those lines ... ???



    Alain

    PS
    Code:
        IF dead == 1 THEN finish    'if player is already dead, don't answer and leave the int routine
    Ha,ha,ha ... YOU 're dead !!!

    Re-PS

    Code:
    The PICs control transistors that drive relays for 9V supply to nichrome wires for the physical feedback. 
    One cm of 38ga Nichrome wire, with 9V and a 6 ohms resistor is heated for 500ms, inducing a little burn that will leave a very tiny scar similar to cat's claw scratch.
    And overall sado-maso games ...

    WHAT A PITY !!!
    Last edited by Acetronics2; - 21st March 2008 at 12:43. Reason: WHAT A PITY !!!
    ************************************************** ***********************
    Why insist on using 32 Bits when you're not even able to deal with the first 8 ones ??? ehhhhhh ...
    ************************************************** ***********************
    IF there is the word "Problem" in your question ...
    certainly the answer is " RTFM " or " RTFDataSheet " !!!
    *****************************************

  9. #9
    skimask's Avatar
    skimask Guest


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by BobP View Post
    The important part of the datasheet is this bit,
    'For enabled interrupt-on-change pins, the values are
    compared with the old value latched on the last read of
    PORTA
    . The ‘mismatch’ outputs of the last read are
    OR’d together to set the PORTA Change Interrupt Flag
    bit (RAIF) in the INTCON register (Register 2-3).'
    Quote Originally Posted by xnihilo View Post
    i DO read porta bits individually prior to enabling intcon, even if i maybe didn't mention it.
    (from Sesame Street)...
    One of these sentences...is not like the other...

Similar Threads

  1. Won't go back to SLEEP after 1st Interrupt
    By jellis00 in forum mel PIC BASIC Pro
    Replies: 32
    Last Post: - 29th June 2009, 09:00
  2. Can't ID interrupt source with this IntHandler??
    By jellis00 in forum mel PIC BASIC Pro
    Replies: 7
    Last Post: - 3rd June 2009, 02:35
  3. Help with Analog Interrupt
    By brid0030 in forum mel PIC BASIC Pro
    Replies: 7
    Last Post: - 13th February 2008, 18:14
  4. NEWBIE: Some basic questions using interrupts
    By JackPollack in forum mel PIC BASIC Pro
    Replies: 5
    Last Post: - 8th March 2006, 02:59
  5. USART interrupt not interrupting right
    By Morpheus in forum mel PIC BASIC Pro
    Replies: 12
    Last Post: - 6th March 2005, 01:07

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