Forum: Mikrocontroller und Digitale Elektronik Zeitverzögerungen in Keil C166?


von Owen S. (senmeis)


Lesenswert?

Hallo,

gibt's Standardmethode in Keil C166, die Zeitverzögerungen schafft? Z.B.
1
delay(100); // 100ms verzögern

MfG
Senmeis

von Oliver J. (skriptkiddy)


Lesenswert?

Meines Wissens hat Keil sowas nicht. Kann man sich aber mit ein wenig 
Aufwand selber bauen.
1
define COUNT_MS 3000UL   // Wert bestimmen
2
3
void delay(int ms)
4
{
5
 volatile int i;
6
 volatile unsigned long int j;
7
 for (i=0 ; i<ms ; +ii)      // ms-mal wiederholen 
8
  for (j=0;j<COUNT_MS;j++);  // 1 Millisekunde wenn COUNT_MS richtig
9
}
10
11
int main(void)
12
{
13
 while(1)
14
 {
15
  delay(500);
16
  LED_ON;
17
  delay(500);
18
  LED_OFF;
19
 }
20
 return 0;
21
}

Jetzt nur noch COUNT_MS so bestimmen, dass deine LED im Sekundentakt 
blinkt.


Gruß Skriptkiddy

von fg34k189 (Gast)


Lesenswert?

Ja, das hat Keil aus gutem Grund nicht. Weil man mit so einer 
Programmierung keine sinnvolle Architektur aufbauen kann.

Sollte man bei einem Programmier-Anfänger gleich auf die Finger hauen.

Man ist ja schließlich nicht softwareseitig alleine auf dem µC unterwegs 
:-)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.