aboutsummaryrefslogtreecommitdiff
path: root/02-usart/include/core/irq.h
diff options
context:
space:
mode:
authorJosh Rahm <joshuarahm@gmail.com>2020-11-20 09:55:37 -0700
committerJosh Rahm <joshuarahm@gmail.com>2020-11-20 09:55:37 -0700
commit3b6018348d51c77f53adca90e498d7bf268c91c9 (patch)
tree45c52307d48a74b2ae57006d3b40f9a34c61c9ce /02-usart/include/core/irq.h
parentd82837cb93b8675a6e589548e157f31e41aaa039 (diff)
downloadstm32l4-3b6018348d51c77f53adca90e498d7bf268c91c9.tar.gz
stm32l4-3b6018348d51c77f53adca90e498d7bf268c91c9.tar.bz2
stm32l4-3b6018348d51c77f53adca90e498d7bf268c91c9.zip
Move around the isr_vector files to be more consistent with the C standard and the rest of the project.
Diffstat (limited to '02-usart/include/core/irq.h')
-rw-r--r--02-usart/include/core/irq.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/02-usart/include/core/irq.h b/02-usart/include/core/irq.h
new file mode 100644
index 0000000..ae1126d
--- /dev/null
+++ b/02-usart/include/core/irq.h
@@ -0,0 +1,33 @@
+#ifndef CORE_IRQ_H__
+#define CORE_IRQ_H__
+
+#include <stdint.h>
+
+/*
+ * Include file for interrupt service routines.
+ */
+
+typedef enum {
+#define IRQ_RESERVED(n)
+#define IRQ(name_, uname, num) \
+ IRQ_##uname = num,
+#include "core/isrs.inc"
+#undef IRQ
+#undef IRQ_RESERVED
+} interrupt_t;
+
+/*
+ * The interrupt service routines. These link in the function `main` as the
+ * main function.
+ */
+extern const void* vectors[];
+
+/*
+ * Defines an error state. This loops forever and defines a distinct flashing
+ * pattern to let the user know an unhandled ISR happened.
+ */
+void unhandled_isr(uint8_t val);
+
+void isr_simple_pin_on();
+
+#endif /* CORE_IRQ_H_ */