- LiFePO4 Speicher Test         
Ergebnis 1 bis 10 von 13

Thema: Neu in der C-Programmierung

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    13.01.2014
    Beiträge
    454
    Blog-Einträge
    3
    Zitat Zitat von Hubert.G Beitrag anzeigen
    Schreib mal so:
    Ausserdem solltest du das Takt/4000ul vorher machen, sonst wird es bei jedem Durchlauf neu berechnet. Das sind dann etliche Takte mehr.
    Ein Kompiler versucht alle konstanten Ausdrücke im Vorlauf zu berechnen. D.h. da wird im kompilierten Code nichts berechenet, sondern i wird mit 250 vorgeladen.

  2. #2
    HaWe
    Gast
    mach deinen Zähler volatile!

    Code:
    void Warte1ms(void)
    {
      volatile unsigned int i;
      for (i = Takt/4000ul; i > 0; i--) ;
    }

    edit:
    das ist übrigens genau das, was ich meine, wenn ich sage:
    nacktes C ist für Anfänger absolut nicht geeignet!

    Daher gibt es für Anfänger C per Arduino IDE.
    da gibt es Timer mit Millisekunden
    millis()
    oder Microsekunden
    micros()
    und
    delay(msec)
    und
    delayMicroseconds(usec)

    Ansonsten musst du dir die Timer callbacks selber programmieren.
    ( * schauder * )


    Code:
    int outPin = 8;                 // digital pin 8
    
    void setup()
    {
      pinMode(outPin, OUTPUT);      // sets the digital pin as output
    }
    
    void loop()
    {
      digitalWrite(outPin, HIGH);   // sets the pin on
      delayMicroseconds(50);        // pauses for 50 microseconds      
      digitalWrite(outPin, LOW);    // sets the pin off
      delayMicroseconds(50);        // pauses for 50 microseconds      
    }
    Geändert von HaWe (15.11.2015 um 21:06 Uhr)

  3. #3
    Unregistriert
    Gast
    Auch in C gibt es delay(ms). Ist auf jeden Fall einfacher als void. Wenn ich void warte ... nichts reinschreibe wird es einfach gelesen ohne Funktion.

  4. #4
    HaWe
    Gast
    delay() ist kein ANSI C oder C++ Befehl nach C99 oder C11 ANSI Standard.
    Aber es kann natürlich theoretisch und praktisch möglich sein, dass es Plattform-spezifische Zusatzlibs gibt, die diesen Befehl implementiert haben.

Ähnliche Themen

  1. Programmierung
    Von Kene im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 8
    Letzter Beitrag: 02.10.2010, 19:30
  2. programmierung
    Von jonasspieker im Forum Robby RP6
    Antworten: 7
    Letzter Beitrag: 22.06.2010, 13:39
  3. Led Programmierung
    Von cbr600 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 4
    Letzter Beitrag: 13.10.2007, 14:18
  4. LCD Programmierung?
    Von AndreasHB im Forum Robby CCRP5
    Antworten: 1
    Letzter Beitrag: 01.01.2005, 21:23
  5. [ERLEDIGT] Pic-Programmierung
    Von kickerstar im Forum PIC Controller
    Antworten: 2
    Letzter Beitrag: 13.09.2004, 14:13

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress