TABLE OF CONTENTS


/Interrupt [ Modules ]

[ Top ] [ Modules ]

DESCRIPTION

Functions for interrupts managed by the operating system. A managed Interrupt can be attached to an event handling Task dynamically, which will be executed automatically when the Interrupt occurs.


Interrupt/Settings [ Constants ]

[ Top ] [ Interrupt ] [ Constants ]

DESCRIPTION

Interrupts that should be managed by the operating system

DECLARATION

#if Varexist( "Os_int_int0_use") = False
   Const Os_int_int0_use = False
#endif

Interrupt/Os_int_deregister_task [ Functions ]

[ Top ] [ Interrupt ] [ Functions ]

DESCRIPTION

Removes a Task from the Interrupt table

DECLARATION

Sub Os_int_deregister_task(byref Taskblock As Word)

SEE ALSO

    Interrupt/Os_int_register_task

SOURCE

   Local Intsource As Byte
   For Intsource = 1 To Os_int_count
      If Os_int_table(intsource) = Taskblock Then
         Os_int_table(intsource) = 0
         Exit For
      End If
   Next
End Sub

Interrupt/Os_int_isr [ Functions ]

[ Top ] [ Interrupt ] [ Functions ]

DESCRIPTION

Managed ISRs

SOURCE

#if Os_int_int0_use = True
   Os_int_int0_isr:
      If Os_int_table(os_int_int0) <> 0 Then
         Os_event_task = Os_int_table(os_int_int0)
         Gosub Os_sched_event
      End If
   Return
#endif

Interrupt/Os_int_register_task [ Functions ]

[ Top ] [ Interrupt ] [ Functions ]

DESCRIPTION

Tells the os to call the supplied Task when the Interrupt fires

DECLARATION

Sub Os_int_register_task(byval Int_source As Byte , Byref Taskblock As Word)

SEE ALSO

    Interrupt/Os_int_deregister_task

SOURCE

   Os_int_table(int_source) = Taskblock
End Sub