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.
Dependents: 2doejemplo Labo_TRSE_Drone
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
