INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
String als Funktion einsetzen
25.02.2014, 11:01
Beitrag #9
RE: String als Funktion einsetzen
(25.02.2014 10:10)Thorsten Pferdekämper schrieb:  D.h. Du könntest schon irgendwie das C++übersetzt an den Arduino schicken, aber er kann's dann trotzdem nicht ausführen.
In obigem Text sind einige Annahmen. Vielleicht geht das doch irgendwie. Ich bin mir aber ziemlich sicher, dass es wesentlich mehr Aufwand wäre, als Dir selbst einen kleinen Interpreter für eine einfache Sprache zu schreiben. (Siehe Beitrag von burgi650.) Ich glaube, dass Firmata so was in der Richtung macht.
Gruß,
Thorsten

mmh - ich frag mich warum andere die Ardus irgendwie doch damit nutzen und es auch viele Bücher dazu gibt. Für C hab ich selbst einige hier.

und wenn man sich nur mal die Wiki anschaut...
Zitat:Arduino programs are written in C or C++. The Arduino IDE comes with a software library called "Wiring" from the original Wiring project, which makes many common input/output operations much easier. Users only need define two functions to make a runnable cyclic executive program:

Man kann es durchaus lernen und der Ardu kann dat auch.
Nur Arduino hatte mal die Idee, dass ganze so einfach wie möglich zu stricken....
Damit man nicht erst den ComputerKurs bei der VHS belegen muss.
Greetz
Sloompie

(notfalls mal den Gockel befragen, nach C Programming for Arduino, man findet da nicht nur Arduino.cc ganz viel input)

Dimidium facti, qui coepit, habet: SAPERE AUDE, incipe!©Horaz

Vor allem sapere aude! oder wie Immanuel Kant sagt:
"Habe Mut, dich deines eigenen Verstandes zu bedienen!"

Es tut auch nicht weh! Daher: incipe! oder Tu es! wie Yoda sagen würde.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.02.2014, 11:05
Beitrag #10
RE: String als Funktion einsetzen
Hi Sloompie,
lies mal den ganzen Thread, dann wird Dir vielleicht klarer, um was es eigentlich geht.
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.02.2014, 11:08 (Dieser Beitrag wurde zuletzt bearbeitet: 25.02.2014 11:14 von Sloompie.)
Beitrag #11
RE: String als Funktion einsetzen
(25.02.2014 11:05)Thorsten Pferdekämper schrieb:  Hi Sloompie,
lies mal den ganzen Thread, dann wird Dir vielleicht klarer, um was es eigentlich geht.
Gruß,
Thorsten

Smile

sorry hatte den Satz noch im Kopf und das stimmt grundsätzlich nicht.
Zitat:Programm schreibst, dann wird es vom PC für den Arduino übersetzt. D.h. der Arduino kann kein C oder C++, sondern nur irgendwas für Menschen nicht vernünftig lesbares.

in dem Punkt steh ich aber am Anfang - und grübel gerade, da ich meine, das AVR gerade auch zu dem Thema eine Anknüpfung macht.

Dimidium facti, qui coepit, habet: SAPERE AUDE, incipe!©Horaz

Vor allem sapere aude! oder wie Immanuel Kant sagt:
"Habe Mut, dich deines eigenen Verstandes zu bedienen!"

Es tut auch nicht weh! Daher: incipe! oder Tu es! wie Yoda sagen würde.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.02.2014, 11:12
Beitrag #12
RE: String als Funktion einsetzen
Damit ist aber die grundsätzliche Programmierung gemeint und nicht das nachträgliche hinzufügen von Anweisungen aus einer Zeichenkette oder?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.02.2014, 11:19
Beitrag #13
RE: String als Funktion einsetzen
(25.02.2014 11:12)Kikdiweg schrieb:  Damit ist aber die grundsätzliche Programmierung gemeint und nicht das nachträgliche hinzufügen von Anweisungen aus einer Zeichenkette oder?

Jepp -
die Frage ist eigentlich bei Deinem Problem, was ist die einfachere Lösung -
(in diesem Fall für Dich)

ich denke, das musst Du entscheiden - da hast du von Thorsten und Burgi ja zwei Möglichkeiten - was Dich NICHT daran hindert - wahrscheinlich würd es mir so gehen - noch nach einer eigenen Lösung Dank der Hinweise zu suchen..

Smile

Wie war das, der Weg ist das Ziel? und den beschreitet jeder anders??
Du bist ja schon auf dem richtigen Weg...
bin auf Deine Lösung gespannt.

Und wie ich Ricardo kenne - wirft der gleich noch nen Kurs in die Runde Big Grin
lass Dich aber nicht abschrecken.
Greetz
Sloompie

Dimidium facti, qui coepit, habet: SAPERE AUDE, incipe!©Horaz

Vor allem sapere aude! oder wie Immanuel Kant sagt:
"Habe Mut, dich deines eigenen Verstandes zu bedienen!"

Es tut auch nicht weh! Daher: incipe! oder Tu es! wie Yoda sagen würde.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.02.2014, 17:02
Beitrag #14
RE: String als Funktion einsetzen
Jetzt bin ichs nochmal.
Pins auslesen klappt, nur leider gibt er mir keine Werte von Variablen zurück.

Hier mal der Code, samt Problembeschreibung
Gibt es vielleicht eine Funktion die explizit eine Variable ausliest?



Ich google mir normalerweise mein Zeug wirklich selbst, in diesem Fall weiss ich leider nicht mal was ich als Suchbegriff eingeben soll. Confused

Code:
#include <SPI.h>
#include <Ethernet.h>
#include <Wire.h>

int x;
String readString;
char thisChar;
String chars;

////////////////////////////////ETHERNET////////////////////////////////////
byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
IPAddress ip(192, 168, 1, 177);
IPAddress gateway(192, 168, 1, 1);
IPAddress subnet(255, 255, 255, 0);
EthernetClient client = 0;
EthernetServer server(23);
//////////////////////////////////////////////////////////////////////////////////////////



void setup()
{
    Ethernet.begin(mac, ip, gateway, gateway, subnet);
    server.begin();
    Serial.begin(9600);
    pinMode(53, OUTPUT);
    pinMode(4, OUTPUT);
    digitalWrite(4, HIGH);
    Serial.print("Server address:");
    Serial.println(Ethernet.localIP());
}
//////////////////////////////////////////////////////////////////////////////////////////
void loop()
{
    x = analogRead(1);
    EthernetClient client = server.available();

    if (client.connected() > 0)
    {
        if (client)
        {
            thisChar = client.read();
            chars = chars + thisChar;

            //////////////////////////////////////////////////////////////////////////////////////////
            if (thisChar == '\n');

            {
                Serial.println(chars);

                if (chars.indexOf("#") > -1)
                {
                    String trim  = chars.substring(chars.indexOf("?") + 1) ;
                    String val  = chars.substring(chars.indexOf("?") + 2, chars.indexOf("#")) ;
                    int numb = val.toInt();
                    char varIn = trim[1];
                    chars = "";

                    switch (trim[0])
                    {
                        case 'a':
                            client.println(analogRead(numb));       // -->>> ?a1# gibt den Wert zurück
                            break;

                        case 'v':
                            
                            client.println(varIn);                   // -->>> ?vx#  gibt  'x' zurück
                                                     // evtl stattdessn eine Funktion wie zB client.println(variableRead(varIn)); ?????
                            // Hab aus Verzweiflung schon client.println(client.println(varIn)) versucht, da raucht er komplett ab :)
                            client.println(x);              // -->>> gibt den Wert zurück
                            break;

                        default:
                            break;
                    }//switch END
                }// Indexof END
            }//if(thisChar == '\n') END
        }//if CLIENT END
    }//IF CLIENT CONNECTED END
}//LOOP END
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.02.2014, 17:10
Beitrag #15
RE: String als Funktion einsetzen
(25.02.2014 17:02)Kikdiweg schrieb:  Pins auslesen klappt, nur leider gibt er mir keine Werte von Variablen zurück.
Hi,
der Arduino selbst kennt wahrscheinlich auch keine Variablennamen. Das sind irgendwelche Speicheradressen, die bei lokalen Variablen wahrscheinlich auch noch dynamisch (also zur Laufzeit abhängig vom Stack oder sowas) gesetzt werden.
Das macht mal wieder der Compiler...
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.02.2014, 17:13
Beitrag #16
RE: String als Funktion einsetzen
Hi,
Und wie mach ich das dann?
Variable auf ne SD Karte schreiben lassen und wieder auslesen?

Gruss
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  String zusammensetzen Mathias 13 539 01.09.2016 21:15
Letzter Beitrag: Mathias
  String-Array füllen? torsten_156 9 440 08.07.2016 20:07
Letzter Beitrag: amithlon
  String in EEPROM Speichern BennIY 2 405 27.06.2016 10:23
Letzter Beitrag: BennIY
  Funktion mit Parameterübergabe - u8g torsten_156 8 396 22.06.2016 18:53
Letzter Beitrag: Pit
  String - Buchstabenposition auswerten scritch 5 659 01.04.2016 16:25
Letzter Beitrag: rkuehle
  Funktion in Loop einmalig ausführen Haustechno 4 644 09.03.2016 22:43
Letzter Beitrag: Haustechno
  String nach UTF16 konvertieren (UTF-16) ThoEngel 0 299 20.02.2016 19:22
Letzter Beitrag: ThoEngel
  HC-05 Modul auf Funktion prüfen. arduinofan 2 362 03.02.2016 19:18
Letzter Beitrag: arduinofan
  Eine Funktion vorher definieren ? arduinofan 23 2.011 30.12.2015 08:42
Letzter Beitrag: amithlon
Exclamation String Zerlegen in drei Variablen Wampo 4 847 28.12.2015 01:07
Letzter Beitrag: Wampo

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste