die erste funktion habe ich mal hinbekommen
nur mich interessiert jetzt wirklich wieso es beim ersten programm läuft und beim zweiten nicht.
mit breakpoints kenne ich mich nicht aus.
Code:
#define eins 500
void softdelay();
void erste();
static unsigned int patt1=0x0001;
void main(void)
{
DP2= 0xFFFF;
while(1)
{
int i=0;
for(i=0; i<=1000; i++)
{
if(eins%i)
erste();
softdelay();
}
}
}
void erste(void)
{
if (patt1<=0x0070)
patt1= patt1<<1;
else
patt1=0x0001;
P2=patt1;
}
void softdelay()
{
unsigned long j=0;
for (j=0; j<500000; j++)
{};
}
2.tes
Code:
#define eins 500
void softdelay();
void erste();
void main(void)
{
DP2= 0xFFFF;
while(1)
{
int i=0;
for(i=0; i<=1000; i++)
{
if(eins%i)
erste();
softdelay();
}
}
}
void erste(void)
{
if (P2<=0x0070)
P2= P2<<1;
else
P2=0x0001;
}
void softdelay()
{
unsigned long j=0;
for (j=0; j<500000; j++)
{};
}
Lesezeichen