- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 10 von 15

Thema: ASURO Projekt Einen Motor pausieren

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    05.05.2017
    Beiträge
    7
    Hallo,
    erst mal wollte ich sagen, dass ich es echt super finde, wie nett man hier unterstützt wird. Danke
    Leider war ich heute und gestern Abend verhindert durch eine Konformation. Deshalb habe ich mich nicht direkt dahinter gesetzt und mich gemeldet.

    Ich habe die Verbesserungsvorschläge umgesetzt und hatte auch schon else vor dem 2. und 3. if aber ohne hat das Program auch funktioniert. Weshalb mir die bedeutung davon nicht ganz klar war.

    Wie gesagt setzt der Eine motor zum Falschen Zeitpunkt ein.
    Das will ich Sie mir sagten mit Gettime versuchen zu unterbinden. Nur ist mir die Gettime Funktion nicht ganz klar.
    Wie man die Begriffe (bei mir in der asuro lib ) nachließt und sie definiert sind ist mir klar und ich verstehe auch einiges nur die time.c beziehungsweise das Gettime darin nicht. Wenn ich nun dieses Programm, so wie ich es dastehen habe auf den Aduro flashe, müsste dann die Front LED alle 500 ms oder beispielsweise alle 5000 ms an und ausgehen?
    Beziehungsweise macht sie nicht nach dem flashen...

    #include <avr/io.h>
    #include "asuro.h"
    #include "myasuro.h"
    int main(void)
    { // Alle 500 ms die Front-LED umschalten.
    unsigned long zeit;
    unsigned char on_off = TRUE;
    zeit = Gettime ();
    while (1)
    {
    if (Gettime () > zeit + 500)
    {
    zeit = Gettime ();
    FrontLED (on_off);
    on_off ^= 1;
    }
    }
    }

    Könnte mir vielleicht einer etwas dieses Programm erklären weil mir nicht ganz klar ist was on _ off bedeutet genauso dieses hoch gleich eins. Ich habe versucht, mir das klarzumachen und die Gettime Funktion in mein Programm einzubinden doch leider konnte ich mir das nicht ganz erklären.
    Ich wurde leider in die ganze Thematik kopfüberhineingeworfen und bekomme wenig schulische Unterstützung. Und mein ziehl war es etwas eigenentwickeltes mit dem ASURO zu entwerfen und nichts vorhandenes zu kopieren. Leider ist mir die Informatik doch etwas fremd, wenn ich sie auch sehr interessantfinde ... Nur falls ihr euch wundert warum ich sowenig kenntnisse habe.

    PS: ich hoffe, dass das nun mit dem Code stimmt 😬

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von i_make_it
    Registriert seit
    29.07.2008
    Ort
    Raum DA
    Alter
    55
    Beiträge
    2.814
    Code:
    unsigned char on_off = TRUE;
    Das ist die Definition der Variable mit dem Namen "on_off".
    Die Variable ist vom Typ char (also max. 265 verschiedene Zustände, 0-255).
    Und sie ist unsigned (also ohne Vorzeichen, mit wäre der Wertebereich -128 bis 127)
    Die Variable wird mit dem Wert TRUE (wahr) also 1 vorbelegt

    Code:
    on_off ^= 1;
    Um diese Zeile zu verstehen, muß man die Operatoren in C/C++ kennen.
    http://www2.informatik.uni-halle.de/.../c_operat.html
    ^= bitweises XOR (exklusives OR)

    Damit wird also der Wert bei jedem Ausführen von Binär 0 auf Binär 1 und zurück geändert.
    Es ist die kürzeste Schreibweise um in C ein Bit zu Togglen.
    Der lange Weg wäre:
    Code:
    if (on_off == 1)
    {
      on_off = 0;
    }
    else if (on_off == 0)
    {
      on_off = 1;
    }
    Du mußt Dich also zum einen mit der Programiersprache C/C++ generell und zum anderen mit den Besonderheiten des Asuro befassen um den Code von Beispielen verstehen zu können und selbst sinnvollen und funktionsfähigen Code schreiben zu können.
    Geändert von i_make_it (08.05.2017 um 09:25 Uhr)

  3. #3
    Erfahrener Benutzer Robotik Visionär Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    36
    Beiträge
    5.066
    Ich kann dir auch das AVR GCC Tutorial von Mikrocontroller.net empfehlen https://www.mikrocontroller.net/arti...R-GCC-Tutorial

    Und bitte den Code in codetags schreiben (code) dein code (/code). Statt den runden Klammern nimmst du eckige.

    Dann sieht es so aus
    Code:
     dein code
    MfG Hannes

Ähnliche Themen

  1. Antworten: 18
    Letzter Beitrag: 28.06.2007, 18:34
  2. Was für einen Motor fur einen Rasenmäher?
    Von LLiinnuuxx im Forum Motoren
    Antworten: 76
    Letzter Beitrag: 07.11.2006, 20:15
  3. Suche einen Motor für einen Roboterarm
    Von Battle MC im Forum Motoren
    Antworten: 20
    Letzter Beitrag: 22.03.2006, 06:50
  4. Was für einen Motor?
    Von Blubb im Forum Motoren
    Antworten: 2
    Letzter Beitrag: 01.03.2005, 16:59
  5. Projekt: Motor per PC steuern
    Von paramedic im Forum Elektronik
    Antworten: 0
    Letzter Beitrag: 03.12.2004, 23:20

Stichworte

Berechtigungen

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

LiFePO4 Speicher Test