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 vergleichen georg01 15 832 18.07.2017 20:35
Letzter Beitrag: Tommy56
  String.charAt() ardun 3 345 02.07.2017 15:28
Letzter Beitrag: Tommy56
  Aus char string machen metzgefa 1 370 06.05.2017 15:15
Letzter Beitrag: Tommy56
  switch case funktion ausser halb loop ??? huber5093 13 1.554 12.04.2017 15:26
Letzter Beitrag: Tommy56
  String übergeben oOSpikeOo 9 716 28.03.2017 19:47
Letzter Beitrag: georg01
  String in tinygps++ einlesen hoko 17 1.142 07.03.2017 15:40
Letzter Beitrag: hoko
  String -> Char *gelöst* Binatone 2 554 31.01.2017 11:08
Letzter Beitrag: Binatone
  ascii string to int array konvertieren renid55 3 618 29.12.2016 11:49
Letzter Beitrag: Tommy56
  String / HTTP Request Marc2014 4 671 23.12.2016 15:42
Letzter Beitrag: Tommy56
  String zusammensetzen Mathias 13 2.005 01.09.2016 21:15
Letzter Beitrag: Mathias

Gehe zu:


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