X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=app%2Fat91sam7s%2Fat91sam7s.c;h=13388a557fa4a6110d14dffa3270623414d32f08;hb=9fc47ff8814e045ac498acb1bc92946950a6a5f9;hp=860e72cd71628c08150415547e47450b6ac81218;hpb=77c1d6ba65a199f60faa0e0a68e63ef0eb87677c;p=bertos.git diff --git a/app/at91sam7s/at91sam7s.c b/app/at91sam7s/at91sam7s.c index 860e72cd..13388a55 100644 --- a/app/at91sam7s/at91sam7s.c +++ b/app/at91sam7s/at91sam7s.c @@ -27,7 +27,7 @@ * the GNU General Public License. * * Copyright 2007 Develer S.r.l. (http://www.develer.com/) - * This file is part of DevLib - See README.devlib for information. + * * --> * * \version $Id$ @@ -38,19 +38,73 @@ */ #include +#include #include +#include + +int iort = 23; +int iort1 = 232; +int iort2 = 233; + +Timer leds_timer; + +static void leds_toggle(void) +{ + uint8_t a = (~PIOA_ODSR & 0x0f); + + if (a) + { + PIOA_SODR = a; + PIOA_CODR = a << 1; + } + else + { + PIOA_SODR = 0x0f; + /* turn first led on */ + PIOA_CODR = 0x00000001; + } + + /* Wait for interval time */ + timer_setDelay(&leds_timer, ms_to_ticks(100)); + timer_add(&leds_timer); +} + int main(void) { -// kdbg_init(); + kdbg_init(); + sysirq_init(); timer_init(); IRQ_ENABLE; + /* Disable all pullups */ + PIOA_PUDR = 0xffffffff; + /* Set PA0..3 connected to PIOA */ + PIOA_PER = 0x0000000f; + /* Set PA0..3 as output */ + PIOA_OER = 0x0000000f; + /* Disable multidrive on all pins */ + PIOA_MDDR = 0x0000000f; + + /* Set PA0..3 to 1 to turn off leds */ + PIOA_SODR = 0x0000000f; + /* turn first led on */ + PIOA_CODR = 0x00000001; + + timer_set_event_softint(&leds_timer, (Hook)leds_toggle, 0); + timer_setDelay(&leds_timer, ms_to_ticks(100)); + timer_add(&leds_timer); + + // Main loop for(;;) { - + kprintf("W la figa!\n"); + iort+= 1; + iort1+= 1; + iort2+= 1; } return 0; } +