Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of mbed by
Revision 15:d1a9de3f4fe0, committed 2009-11-16
- Comitter:
- simon.ford@mbed.co.uk
- Date:
- Mon Nov 16 17:23:08 2009 +0000
- Parent:
- 14:20a79241b4a0
- Child:
- 16:32af5db564d4
- Commit message:
- * Update Serial to support primitive interrupt event
* Update some CMSIS-level interrupt functions
Changed in this revision
--- a/LPC1768/LPC17xx.h Wed Oct 28 17:43:46 2009 +0000
+++ b/LPC1768/LPC17xx.h Mon Nov 16 17:23:08 2009 +0000
@@ -138,7 +138,7 @@
__IO uint32_t PCLKSEL1;
uint32_t RESERVED8[4];
__IO uint32_t USBIntSt; /* USB Device/OTG Interrupt Register */
- uint32_t DMAREQSEL;
+ uint32_t RESERVED9;
__IO uint32_t CLKOUTCFG; /* Clock Output Configuration */
} LPC_SC_TypeDef;
Binary file LPC1768/capi.ar has changed
Binary file LPC1768/cmsis_nvic.o has changed
Binary file LPC1768/core_cm3.o has changed
Binary file LPC1768/mbed.ar has changed
Binary file LPC2368/capi.ar has changed
Binary file LPC2368/cmsis_nvic.o has changed
Binary file LPC2368/mbed.ar has changed
--- a/Serial.h Wed Oct 28 17:43:46 2009 +0000
+++ b/Serial.h Mon Nov 16 17:23:08 2009 +0000
@@ -10,6 +10,7 @@
#include "PinNames.h"
#include "PeripheralNames.h"
#include "Stream.h"
+#include "FunctionPointer.h"
namespace mbed {
@@ -122,6 +123,27 @@
*/
int writeable();
+ /* Function: attach
+ * Attach a function to call whenever a serial interrupt is generated
+ *
+ * Variables:
+ * fptr - A pointer to a void function, or 0 to set as none
+ */
+ void attach(void (*fptr)(void));
+
+ /* Function: attach
+ * Attach a member function to call whenever a serial interrupt is generated
+ *
+ * Variables:
+ * tptr - pointer to the object to call the member function on
+ * mptr - pointer to the member function to be called
+ */
+ template<typename T>
+ void attach(T* tptr, void (T::*mptr)(void)) {
+ _irq.attach(tptr, mptr);
+ setup_interrupt();
+ }
+
#ifdef MBED_RPC
virtual const struct rpc_method *get_rpc_methods();
static struct rpc_class *get_rpc_class();
@@ -129,10 +151,14 @@
protected:
+ void setup_interrupt();
+ void remove_interrupt();
+
virtual int _getc();
virtual int _putc(int c);
UARTName _uart;
+ FunctionPointer _irq;
};
--- a/cmsis.h Wed Oct 28 17:43:46 2009 +0000 +++ b/cmsis.h Mon Nov 16 17:23:08 2009 +0000 @@ -16,4 +16,6 @@ #error "CMSIS Target not recognised" #endif +#include "cmsis_nvic.h" + #endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/cmsis_nvic.h Mon Nov 16 17:23:08 2009 +0000
@@ -0,0 +1,24 @@
+/* mbed Microcontroller Library - cmsis_nvic
+ * Copyright (c) 2009 ARM Limited. All rights reserved.
+ * sford
+ *
+ * CMSIS-style functionality to support dynamic vectors
+ */
+
+#ifndef MBED_CMSIS_NVIC_H
+#define MBED_CMSIS_NVIC_H
+
+#include "cmsis.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void NVIC_SetVector(IRQn_Type IRQn, uint32_t vector);
+uint32_t NVIC_GetVector(IRQn_Type IRQn);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
