hello
if somebody can help me to use the timer0 on a lpc2129
** how to make to generate interruption continuous each second
** I you joint the code
thank you in advance
#include “lpc21xx_keil.h”
#define LED1 10
void T0INT(void)
{
IOSET0= (1<<LED1);//active led ( etat bas)
T0IR = 0x00000001;//efface l’interruption
VICVectAddr = 0xff; //remise a zero de l’adresse INT
}
void T0INT (void) attribute ((interrupt));
void inittimer0()
{
// configuration du timer0
T0TCR=2;//desactive timer0.
T0CCR = 0; // pas de capture.
T0EMR = 0; // pas d’interruption externe.
T0MCR = 1; //interruption sur EMR0
T0MR0 = 2000; //
T0PR = 1000;//
T0TCR = 1; //active le timer
}
main(void)
{
IODIR0 = (1<<LED1);
VICIntSelect=0x00000000;//difinition IRQ et non FIQ
VICIntEnable = 0x00000010;//interruption sur le timer0
VICVectAddr0 = (unsigned int)&T0INT; //adresse du branchement de l’interruption
VICVectCntl0= 0x00000024;// bit5 =1 IRQ est classée vectorisée et confirmée
// bit0–4: numero de l’int
///////////////////////// configuration PLL MAMCR et VPB//////////////////////////
PLLCFG = 0x23;// calcul de frequence , CPU a 64 Mhz
PLLFEED = 0xAA;// application de pllcfg
PLLFEED = 0x55;// application de pllcfg
PLLCON = 0x1;//activation pll
PLLFEED = 0xAA;// application de pllcfg
PLLFEED = 0x55;// application de pllcfg
while(!(PLLSTAT & 0x400)){}
PLLCON=0x3;//connexion pll
PLLFEED=0xAA;
PLLFEED=0x55;
////////////////////////////////////////////////////////////////////////////////////
VPBDIV = 0x3; //frequence des peripherique = 20Mhz
////////////////////////////////////////////////////////////////////////////////////
MAMCR = 0; // accelerateur memoir désactivé pour modifier l’accer en flash ( timing)
MAMTIM = 3; // acces en flash a la vitesse de 3 tics d’horloge
MAMCR = 2; // accelerateur memoir activé
////////////////////////////////////////////////////////////////////////////////////
PCON = 1; // idle mode
PCONP=0x107A;//timer0,uart0,i2c, spi1et2,rtc,A/D sont actif
/////////////////////////////////////////////////////////////////////////////////////////
MEMMAP =2; //ram mode , vecteur d’interruption est placé a l’adresse 0x0 de la RAM
// le linkage de l’application est a 0x40000000
//////////////////////////////////////////////////////////////////////////////////////////
while(1)
{
IOCLR0 = (1<<LED1);
inittimer0();
}
}