X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=drv%2Ftimer_i196.h;h=339cd6dec7630b6836bbd349eb5b2cfb7e3d8f11;hb=b25aabb82dd47404b0697e1394fd3a14963e1224;hp=4ac3d1004a42ac9b946228c75b348878cba8f31f;hpb=96f0ef786b54356c56cc3d4e4f0838df2505cfcc;p=bertos.git diff --git a/drv/timer_i196.h b/drv/timer_i196.h index 4ac3d100..339cd6de 100755 --- a/drv/timer_i196.h +++ b/drv/timer_i196.h @@ -1,9 +1,10 @@ +#error This code must be revised for the new timer API /*! * \file * * * \version $Id$ @@ -13,34 +14,45 @@ * \brief Low-level timer module for AVR */ -/* - * $Log$ - * Revision 1.2 2004/06/03 11:27:09 bernie - * Add dual-license information. - * - * Revision 1.1 2004/05/23 18:23:30 bernie - * Import drv/timer module. - * - */ +/*#* + *#* $Log$ + *#* Revision 1.6 2006/02/21 21:28:02 bernie + *#* New time handling based on TIMER_TICKS_PER_SEC to support slow timers with ticks longer than 1ms. + *#* + *#* Revision 1.5 2005/11/04 16:20:02 bernie + *#* Fix reference to README.devlib in header. + *#* + *#* Revision 1.4 2004/12/13 11:51:08 bernie + *#* DISABLE_INTS/ENABLE_INTS: Convert to IRQ_DISABLE/IRQ_ENABLE. + *#* + *#* Revision 1.3 2004/08/25 14:12:08 rasky + *#* Aggiornato il comment block dei log RCS + *#* + *#* Revision 1.2 2004/06/03 11:27:09 bernie + *#* Add dual-license information. + *#* + *#* Revision 1.1 2004/05/23 18:23:30 bernie + *#* Import drv/timer module. + *#* + *#*/ #ifndef TIMER_I196_H #define TIMER_I196_H - /*! - * Retrigger TIMER2, adjusting the time to account for - * the interrupt prologue latency. - */ -# define TIMER_RETRIGGER (TIMER2 -= TICKS_RATE) +/*! + * Retrigger TIMER2, adjusting the time to account for + * the interrupt prologue latency. + */ +#define TIMER_RETRIGGER (TIMER2 -= TICKS_RATE) -# define TIMER_INIT \ - TIMER2 = (65535 - TICKS_RATE); \ - INT_MASK1 |= INT1F_T2OVF; \ - \ - DISABLE_INTS; \ +#define TIMER_INIT \ + TIMER2 = (65535 - TICKS_RATE); \ + INT_MASK1 |= INT1F_T2OVF; \ + ATOMIC( \ WSR = 1; \ IOC3 |= IOC3F_T2_ENA; \ WSR = 0; \ - ENABLE_INTS + ) #define DEFINE_TIMER_ISR \ INTERRUPT(0x38) void TM2_OVFL_interrupt(void); \