aboutsummaryrefslogtreecommitdiffstats
path: root/demos/AVR-AT90CANx-GCC/main.c
diff options
context:
space:
mode:
authorgdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2008-03-06 11:38:11 +0000
committergdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2008-03-06 11:38:11 +0000
commita6dbd7a691a6c70ebaf132cdc92fc21b3428f6f7 (patch)
treedff2e14b35b28b93116ed5214fc78e1cb8723b90 /demos/AVR-AT90CANx-GCC/main.c
parent8c39bfc93d6c68e5d64707916558b6316f611be2 (diff)
downloadChibiOS-a6dbd7a691a6c70ebaf132cdc92fc21b3428f6f7.tar.gz
ChibiOS-a6dbd7a691a6c70ebaf132cdc92fc21b3428f6f7.tar.bz2
ChibiOS-a6dbd7a691a6c70ebaf132cdc92fc21b3428f6f7.zip
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@217 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'demos/AVR-AT90CANx-GCC/main.c')
-rw-r--r--demos/AVR-AT90CANx-GCC/main.c30
1 files changed, 27 insertions, 3 deletions
diff --git a/demos/AVR-AT90CANx-GCC/main.c b/demos/AVR-AT90CANx-GCC/main.c
index 14c45cf47..2379b670f 100644
--- a/demos/AVR-AT90CANx-GCC/main.c
+++ b/demos/AVR-AT90CANx-GCC/main.c
@@ -18,21 +18,38 @@
*/
#include <ch.h>
+#include <evtimer.h>
+#include <avr_serial.h>
#include <avr/io.h>
+#include "board.h"
+
void hwinit(void);
static WorkingArea(waThread1, 32);
-static t_msg Thread1(void *arg) {
+static msg_t Thread1(void *arg) {
while (TRUE) {
- chThdSleep(800);
+ PORTE ^= PORTE_LED;
+ chThdSleep(500);
}
return 0;
}
+static void TimerHandler(eventid_t id) {
+ msg_t TestThread(void *p);
+
+ if (!(PORTE & PORTE_BUTTON))
+ TestThread(&SER2);
+}
+
int main(int argc, char **argv) {
+ static EvTimer evt;
+ static evhandler_t handlers[1] = {
+ TimerHandler
+ };
+ static EventListener el0;
hwinit();
@@ -43,12 +60,19 @@ int main(int argc, char **argv) {
chSysInit();
/*
+ * Event Timer initialization.
+ */
+ evtInit(&evt, 500); /* Initializes an event timer object. */
+ evtStart(&evt); /* Starts the event timer. */
+ chEvtRegister(&evt.et_es, &el0, 0); /* Registers on the timer event source. */
+
+ /*
* Starts the LED blinker thread.
*/
chThdCreate(NORMALPRIO, 0, waThread1, sizeof(waThread1), Thread1, NULL);
while(TRUE)
- /* Do stuff*/ ;
+ chEvtWait(ALL_EVENTS, handlers);
return 0;
}