timer1.c

来自「LPC2103 - preasure measurement.」· C语言 代码 · 共 53 行

C
53
字号
/******************************************************************************/
/* Timer1.c                                                                   */
/******************************************************************************/

#include <LPC2103.H>                   //Definicje dla procesora LPC2103.
#include <stdio.h>
#ifndef __Timer1_c			   //Zabezpieczenie przed wielokrotnym wczytaniem pliku.
#define __Timer1_c



extern void wyslijWyraz(char *);             //Wyslij ciag znakow (string) portem szeregowym.
extern char wyslijZnak(char);                //Wyslij znak (char) portem szeregowym.

extern void zmierzNapiecia(unsigned int *a,unsigned int *b); //Definicja w PrzetwornikAC.c
extern void zmierzCisnienie(void);		    //Definicja w ProgramGlowny.c


__irq void FIQodTimera1(void)    //Procedura obslugi przerwania od Timera1.
  {
   zmierzCisnienie();
   T1IR=0x1;		            //Resetowanie przerwania od Timera1.
  }


void inicjalizujTimer1(void) //Inicjalizuje Timer1.
  {  
   T1PC=0x0;				 //Licznik jest inkrementowany za kazdym taktem PCLK.
   T1MR0=14999999;           //1s przy PCLK=15MHz.
   T1MCR=0x3;                //Gdy licznik osiagnie wartosc T1MR0 Timer1 generuje przerwanie i jest zerowany.
  
   VICIntSelect |= 0x20;  	 //Przerwanie od Timera1 jest przerwaniem typu FIQ.
   VICIntEnable |= 0x20;     //Uaktywnienie przerwania od Timera1. 
  }

void startTimera1(void)
  {
   T1TCR=0x1;
  }

void stopTimera1(void)
  {
   T1TCR=0x0;
  }

void resetTimera1(void)
  {
   T1TCR=0x2;
  }

 
#endif // __Timer1_c

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?