Pages: [1]   Go Down
Author Topic: Eine Funktion in einer festgelegten Anzahl ausführen  (Read 449 times)
0 Members and 1 Guest are viewing this topic.
Bremen, Germany
Offline Offline
Jr. Member
**
Karma: 0
Posts: 66
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Moin,

ich möchte eine Funktion genau 5 mal ausführen - ich komme aber nicht darauf wie genau ich das anstellen soll. Eine einfache Möglichkeit ist sie 5mal hintereinander zu setzen. Aber es geht doch bestimmt noch effektiver?

Gruß und besten Dank!
Logged

0
Offline Offline
Faraday Member
**
Karma: 19
Posts: 3418
20 LEDs are enough
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Code:
for (int times=0; times<5; ++times) {
  // do something
}
Logged

Check out my experiments http://blog.blinkenlight.net

Bremen, Germany
Offline Offline
Jr. Member
**
Karma: 0
Posts: 66
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Code:
for (int times=0; times<5; ++times) {
  // do something
}

cool, Danke smiley
Logged

Bremen, Germany
Offline Offline
Jr. Member
**
Karma: 0
Posts: 66
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ich habe noch eine Frage:
wie bekomme ich einen Random-Wert in analogWrite? Ich habe analogWrite(PinX, random); versucht, aber dann kommt cannot resolve overloaded function 'random' based on conversion to type 'int'

Gruß
Logged

Forum Moderator
BZ (I)
Online Online
Brattain Member
*****
Karma: 234
Posts: 20191
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Code:
for (int times=0; times<5; ++times) {
  // do something
}
Udo wieso schreist Du eigentlich ++times und nicht times++?
In diesem Fall ist das ja gleichbedeutend.
Grüße Uwe
Logged

0
Offline Offline
Faraday Member
**
Karma: 19
Posts: 3418
20 LEDs are enough
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Weil nach dem ";" der Finger näher am "+" ist als am "t" smiley-wink
Oder weil ich "++times" mit "Inkrement times" im Kopf übersetze. D.h. solange es egal ist schreibe ich fast immer den Operator vorne dran.
Wie Du aber sagst: es ist egal. Was hättest Du gefragt wenn ich es hintendran geschrieben hätte smiley-wink

Logged

Check out my experiments http://blog.blinkenlight.net

Forum Moderator
BZ (I)
Online Online
Brattain Member
*****
Karma: 234
Posts: 20191
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ich habe noch eine Frage:
wie bekomme ich einen Random-Wert in analogWrite? Ich habe analogWrite(PinX, random); versucht, aber dann kommt cannot resolve overloaded function 'random' based on conversion to type 'int'
Gruß
Random ist eine Funktion und als solche hat sie immer Klammern auch wenn keine Parameter übergeben werden.
Da Du aber Zufallswerte zwischen 0 und 255 haben willst schreibst Du am besten:
analogWrite(PinX, random(255)); oder
analogWrite(PinX, random(0,255));
http://arduino.cc/en/Reference/Random

Grüße Uwe
Logged

0
Offline Offline
Faraday Member
**
Karma: 19
Posts: 3418
20 LEDs are enough
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Da nächste Mal schreibe ich zur Verwirrung:

Code:
for (int times = 0x1f; times; times >>= 1) {
    // do something
}
Logged

Check out my experiments http://blog.blinkenlight.net

Forum Moderator
BZ (I)
Online Online
Brattain Member
*****
Karma: 234
Posts: 20191
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Weil nach dem ";" der Finger näher am "+" ist als am "t" smiley-wink
Oder weil ich "++times" mit "Inkrement times" im Kopf übersetze. D.h. solange es egal ist schreibe ich fast immer den Operator vorne dran.
Wie Du aber sagst: es ist egal. Was hättest Du gefragt wenn ich es hintendran geschrieben hätte smiley-wink
Ich hab mir die nachgestellte Syntax angewöhnt wenn beide Versionen gleichbedeutend sind.
Darum hätte ich nichts gesagt. Als alter UPN-ler mit einem HP15C ... smiley-wink smiley-wink smiley-wink
Grüße Uwe
Logged

Forum Moderator
BZ (I)
Online Online
Brattain Member
*****
Karma: 234
Posts: 20191
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Da nächste Mal schreibe ich zur Verwirrung:

Code:
for (int times = 0x1f; times; times >>= 1) {
    // do something
}
Ok, ich geb's zu, Du hast gewonnen.  smiley-wink smiley-wink
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 36
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote from: uwefed
Ich habe noch eine Frage:
wie bekomme ich einen Random-Wert in analogWrite? Ich habe analogWrite(PinX, random); versucht, aber dann kommt cannot resolve overloaded function 'random' based on conversion to type 'int'
Gruß
Random ist eine Funktion und als solche hat sie immer Klammern auch wenn keine Parameter übergeben werden.
Da Du aber Zufallswerte zwischen 0 und 255 haben willst schreibst Du am besten:
analogWrite(PinX, random(255)); oder
analogWrite(PinX, random(0,255));
http://arduino.cc/en/Reference/Random

Grüße Uwe

und nicht vergessen den randomSeed vorher aufzurufen, sonst sehen deine Zufallszahlen so "geplant" aus.

cu markus
« Last Edit: February 09, 2012, 06:53:47 am by uwefed » Logged

Pages: [1]   Go Up
Jump to: