This is Webservice SDK for mbed. LPCXpresso1769/LPC1768/FRDM-K64F/LPC4088
Fork of libMiMic by
Diff: core/os/NyLPC_cIsr.h
- Revision:
- 1:9f6a78395432
- Parent:
- 0:142ee8b12fef
- Child:
- 12:efe841863fc8
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/core/os/NyLPC_cIsr.h Mon Mar 25 05:23:49 2013 +0000 @@ -0,0 +1,75 @@ +/********************************************************************************* + * PROJECT: MiMic + * -------------------------------------------------------------------------------- + * + * This file is part of MiMic + * Copyright (C)2011 Ryo Iizuka + * + * MiMic is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + * For further information please contact. + * http://nyatla.jp/ + * <airmail(at)ebony.plala.or.jp> or <nyatla(at)nyatla.jp> + * + *********************************************************************************/ +#ifndef NYLPC_CISR_H_ +#define NYLPC_CISR_H_ +//////////////////////////////////////////////////////////////////////////////// +// Include +//////////////////////////////////////////////////////////////////////////////// +#include "NyLPC_stdlib.h" +#if NyLPC_ARCH==NyLPC_ARCH_FREERTOS +#include "FreeRTOS.h" +#include "queue.h" +#include "semphr.h" +#elif NyLPC_ARCH==NyLPC_ARCH_MBEDRTOS +#include "mbed.h" +#include "rtos.h" +#else +#error Bad NyLPC_ARCH! +#endif +/********************************************************************** + * + * NyLPC_cIsr class + * + **********************************************************************/ + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +typedef void (*NyLPC_cIsr_EventHandler)(unsigned long i_status); + +/** + * 全ての割込みとタスクスイッチを停止します。 + */ +void NyLPC_cIsr_enterCritical(); +/** + * 全ての割込みとタスクスイッチを再開します。 + */ +void NyLPC_cIsr_exitCritical(); +/** + * イベントハンドラを登録します。 + * @param i_handler + * LPC17xxでは、イベントはISRからコールされます。 + */ +void NyLPC_cIsr_setEnetISR(NyLPC_cIsr_EventHandler i_handler); + + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* NYLPC_CISR_H_ */ +