Advertisement
h0rr0rr_drag0n

TIMER2 simple driver

Apr 27th, 2013
38
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.88 KB | None | 0 0
  1. #include <aduc812.h>
  2.  
  3. #define TH2LOAD 0xac
  4. #define TL2LOAD 0xdc
  5.  
  6. void T2_ISR( void ) __interrupt 5 /* ISR number for timer #2 -- look in SDCC
  7.                                      documentation http://sdcc.sourceforge.net/doc/sdccman.pdf (стр 43) */
  8. {
  9.     TF2 = 0;
  10.     /* paste your code here */
  11. }
  12.  
  13. void init_timer2( void )
  14. {
  15.     T2CON = 0x00; /* 16-bit, autoreload, without baudrate generator mode */
  16.     TH2 = TH2LOAD;
  17.     TL2 = TL2LOAD;
  18.     RCAP2H = TH2LOAD;
  19.     RCAP2L = TL2LOAD;
  20.     SetVector(0x202b, (void *) T2_ISR);
  21.     /* сначала разрешаем прерывания, чтобы не пропустить самое первое прерывание от таймера 2 */
  22.     ET2 = 1;
  23.     EA = 1; /* пусть будет, если мы уже не сделали этого где-то ранее */
  24.     /* 3, 2, 1... START! */
  25.     TR2 = 1;
  26. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement