AG903ライブラリリファレンス
内容インデックスホーム
Body Source
本文ソース
1: int32_t AG903_OSWprCreIsrAuto(AG903_OSWCIsr* pk_cisr) 2: { 3: ID isrid; 4: int32_t retval; 5: T_CISR cisr; 6: 7: if(NULL == pk_cisr) { 8: return -AG903_EINVAL; 9: } 10: if( (AG903_OSW_IRQ_NUM_MAX <= pk_cisr->intno) || 11: (AG903_OSW_HLNG != pk_cisr->atr) || 12: (NULL == pk_cisr->func) ) { 13: return -AG903_EINVAL; 14: } 15: 16: cisr.isratr = (ATR)(TA_HLNG|TA_FPU); 17: cisr.exinf = (VP_INT)pk_cisr->exinf; 18: cisr.intno = (INTNO)(AG903_OSW_IRQ_TOPID + pk_cisr->intno); 19: cisr.isr = (FP)pk_cisr->func; 20: cisr.imask = (IMASK)(OswIntPriorityTbl[pk_cisr->intno]<<3); 21: isrid = acre_isr(&cisr); 22: OSW_SetLastErcd(isrid); 23: if(0 > isrid) { 24: retval = OSW_ChgErcd(isrid); 25: } 26: else if(0 == isrid) { 27: retval = -AG903_ESYS; 28: } 29: else { 30: retval = isrid; 31: } 32: 33: return retval; 34: }
Copyright (c) 2017-2025 Axell Corporation. All rights reserved.