I am stumped!!!


Results 1 to 20 of 20

Thread: I am stumped!!!

Threaded View

  1. #11
    Join Date
    Jul 2003
    Posts
    2,405


    Did you find this post helpful? Yes | No

    Default

    Try this;
    Code:
    DEFINE OSC 4
    CMCON=%00000111
    VRCON = 0 
    PAUSEus 10 
    TRISA = %00000110
    TRISB = %11110000   ' using upper 4-bits for interrupt
    PORTA = %00000000 
    PORTB = %00000001
    OPTION_REG.7 = 0 
    OPTION_REG.6 = 0
     
    led var portA.3
     
    INCLUDE "DT_INTS-14.bas" ; Base Interrupt System
    INCLUDE "ReEnterPBP.bas" ; Include if using PBP interrupts
     
    ASM
    INT_LIST macro ; IntSource, Label, Type, ResetFlag?
        INT_Handler RBC_INT, _check, PBP, yes
        endm
        INT_CREATE 
    ENDASM
     
    @ INT_ENABLE RBC_INT 
     
    cycle:
        HIGH led
        pause 100
        LOW led
        pause 100
        @ Sleep
        goto cycle
     
    check: 
        WHILE (portb >> 4) != 15
          PAUSE 10
        WEND 
        @ INT_RETURN
    The purpose of WHILE (portb >> 4) != 15 is to wait until a button that generated the interrupt is released. It also reads the port, which is required before DT_INTs can clear the interrupt flag.

    To clear the interrupt-on-change flag bit you first have to read the port, then clear the flag. If you read the port while a button is still pressed, then clear the flag, another interrupt will be generated once the button is released.
    Attached Images Attached Images  
    Last edited by Bruce; - 28th July 2010 at 20:58. Reason: Forgot Crayola...;o)
    Regards,

    -Bruce
    tech at rentron.com
    http://www.rentron.com

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