Aduc 7026 Люди помогите решить проблему.
Есть код на сишнике, отладочная плата с 7026
Этот код работает:
#include
#include \"defin.h\"
///
int FLAG;
void TIMER_IRQ(void)
{
if ((IRQSTA & 0x8 ) == 0x8)
{
T1CLRI = 0;
T1CON=0x0;
FLAG=0;
}
return ;
}
void delay(int count)
{
FLAG=1;
T1LD=count;
T1CON=0xC0;
while(FLAG!=0);
}
int main (void)
{
IRQ = TIMER_IRQ;
IRQEN=0x8;
FLAG=0;
PLLKEY1 = 0xAA;
PLLCON = 0x1;
PLLKEY2 = 0x55;
POWKEY1 = 0x01;
POWCON = 0x1;
POWKEY2 = 0xF4;
GP1DAT |= 0x80000000;//P1.7 выход
GP1DAT |= 0x00800000;// UP P1.7
while(1)
{
GP1DAT ^= 0x00800000;// DOWN P1.7
delay(0x16);
GP1DAT ^= 0x00800000;// UP P1.7
delay(0x16);
}
return 0;
}
А при вызове в цикле вместо delay(0x16) delay(0x15)
импульсов уже не видно.
В чем может быть дело?