app_isr.ss

来自「AMIS單晶片開發範本」· SS 代码 · 共 91 行

SS
91
字号
// ---------------------------------------------------------------------------
// Copyright (c) 2008 Semiconductor Components Industries, LLC
// (d/b/a ON Semiconductor). All Rights Reserved.
//
// This code is the property of ON Semiconductor and may not be redistributed
// in any form without prior written permission from ON Semiconductor. The
// terms of use and warranty for this code are covered by contractual
// agreements between ON Semiconductor and the licensee.
// ---------------------------------------------------------------------------
// app_ISR.ss
// - Application-level ISR file
// ---------------------------------------------------------------------------
// $Revision: 1.16 $
// $Date: 2008/10/29 18:00:25 $
// ---------------------------------------------------------------------------
#include <sk25_hw.inc>
#include <boss.inc>
#include <bat.inc>
#include "app.inc"

    Mem_Start_Reloc_Segment(app_ISR_segment, SYSTEM_MEMORY_TYPE_P, 0x1000)

// ----------------------------------------------------------------------------
// Function:       App_IOP_ISR
// Description:    Sets a flag indicating that the IOP has collected
//                 another block of samples.
// Clock cycles:   13
// Modifies:       None
// ---------------------------------------------------------------------------
.global App_IOP_ISR
App_IOP_ISR:

    PUSH ST
    CLR ST
    PUSH AE
    PUSH AH
    
    // Set IOP done flag
    LD A, XL_INTERRUPT_FLAGS, X
    SET AH, IOP_INTERRUPT_FLAG
    LD XL_INTERRUPT_FLAGS, A, X

    POP AH
    POP AE
    POP ST

    Enable_Int
    RET R3

// ----------------------------------------------------------------------------
// Function:       App_WOLA_ISR
// Description:    Sets a flag indicating that a WOLA function has completed.
// Clock cycles:   13
// Modifies:       None
// ---------------------------------------------------------------------------
.global App_WOLA_ISR
App_WOLA_ISR:

    PUSH ST
    CLR ST
    PUSH AE
    PUSH AH
    
    // Set WOLA interrupt flag
    LD A, XL_INTERRUPT_FLAGS, X
    SET AH, WOLA_INTERRUPT_FLAG
    LD XL_INTERRUPT_FLAGS, A, X

    POP AH
    POP AE
    POP ST

    Enable_Int
    RET R3


// ----------------------------------------------------------------------------
// Function:       App_WATCHDOG_ISR
// Description:    Stop the RCore (if debugging) if the Watchdog interrupt
//                 occurs.
// Clock cycles:   4
// Modifies:       None
// ---------------------------------------------------------------------------
.global App_WATCHDOG_ISR
App_WATCHDOG_ISR:
    
    BREAK
    Enable_Int
    RET R3

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?