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, 17:14 (Dieser Beitrag wurde zuletzt bearbeitet: 25.02.2014 17:17 von Thorsten Pferdekämper.)
Beitrag #17
RE: String als Funktion einsetzen
(25.02.2014 11:08)Sloompie schrieb:  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.
Hi,
mit "C oder C++" habe ich die Sprache gemeint, in der ich normalerweise in der Arduino-Programmieroberfläche zugange bin. So gesehen versteht das Arduino-System in seiner Gesamtheit schon das, was ich als "C oder C++" bezeichnet habe.
Was ich mit meiner Aussage gemeint habe war, dass der Arduino (also das Stückchen Hardware mit dem Microcontroller drauf) weder C, noch C++, noch Wiring noch sonstwas menschenwürdiges versteht (interpretieren kann). Auf dem Controller selbst läuft irgenden Maschinencode, der aus dem lesbaren Zeugs übersetzt wird.
Gruß,
Thorsten

(25.02.2014 17:13)Kikdiweg schrieb:  Und wie mach ich das dann?
Variable auf ne SD Karte schreiben lassen und wieder auslesen?
Was sollte das denn helfen? Um sie auf die SD-Karte zu schreiben zu können müsstest Du dasselbe Problem lösen.
Nein, Du musst das von vornherein vorsehen. Du musst jede Variable im Programm explizit "erwähnen", also sowas wie:
Falls name = 'X' -> client.println(x)
Falls name = 'Y' -> client.println(y)
usw.
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:30
Beitrag #18
RE: String als Funktion einsetzen
Hallo Kikdiweg,

Zitat:Pins auslesen klappt, nur leider gibt er mir keine Werte von Variablen zurück.

Das dürfte hier begründet sein:
Code:
char thisChar;
String chars;
"thisChar" ist ein Character, "String chars" ist aber kein Character Array, sondern ein Objekt der String Klasse. Die sind verschieden aufgebaut, oder anders gesagt: ein String Objekt ist kein Characterarray. Du solltest besser so deklarieren:
Code:
char thisChar;
char chars[]="mit Zeichen füllen die die max. mögliche Länge ergeben";
, musst dann aber im Code die Länge über sizeof(chars) ermitteln und über einen Indexzähler auf die Elemente des Arrays zugreifen.

Grüße RK
PS Glaube ich zumindest Confused

Nüchtern betrachtet...ist besoffen besser Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.02.2014, 17:34
Beitrag #19
RE: String als Funktion einsetzen
Da kann einem fast ein bischen schwindlig werden wenn man zulang drüber nachdenkt.

Ich dachte ich schreib alles in ein File ein und lies den benötigten Teil zb mit

client.println(chars.substring(valIn)) ;

oder mit einer anderen Funktion die Zahlen als Parameter nimmt ein.

Aber ich verrenn mich da in was glaub ich.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.02.2014, 17:50
Beitrag #20
RE: String als Funktion einsetzen
Hallo Kikdiweg,

das Thema "File" lassen wir mal aussen vor, du möchtest ja was universelles und das ist okay Smile

Aus den vielen Posts kann ich jetzt nicht mehr wiirklich ersehen, was beim Senden über netcat auf dem Arduino ankommen soll. Schreibe mal bitte ein "Ablaufbeispiel" auf.
Nach dem Motto:
netcat sendet "abcde"
beim Arduino kommt "xyz" an
dieser Inhalt soll im Arduino folgendes machen:...
Ich gucke dann heute abend nochmal auf den Code.
Das Thema ist auf jeden Fall lösbar.

grüße RK

Nüchtern betrachtet...ist besoffen besser Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.02.2014, 17:59 (Dieser Beitrag wurde zuletzt bearbeitet: 25.02.2014 18:00 von Kikdiweg.)
Beitrag #21
RE: String als Funktion einsetzen
Hab ne Lösung gefunden.
Ich schreib alle Variablen in ein Array und übergeb die Indexzahlen.

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

int x[1];
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[1] = 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(numb);
                            client.println(x[numb]);                
                            client.println(x[1]);            
                            break;

                        default:
                            break;
                    }//switch END
                }// Indexof END
            }//if(thisChar == '\n') END
        }//if CLIENT END
    }//IF CLIENT CONNECTED END
}//LOOP END

Dank euch!!
Allein wär ich da nie drauf gekommen
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.02.2014, 18:11 (Dieser Beitrag wurde zuletzt bearbeitet: 25.02.2014 18:14 von Sloompie.)
Beitrag #22
RE: String als Funktion einsetzen
(25.02.2014 17:59)Kikdiweg schrieb:  Hab ne Lösung gefunden.

   

Wusste ich doch Smile
wie war das?
Zitat: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 Danke für den Code.... hilft anderen vielleicht weiter!!!
Greetz
Sloompie
_________________________________________________________________
Big Grin
Zitat:dass der Arduino (also das Stückchen Hardware mit dem Microcontroller drauf)
hoi Thorsten,
Gut, dass wir drüber gesprochen haben - ich hätte sonst meinen Hund mit dem Programmcode (welchen auch immer) gefüttert.

und versucht das Teil mit Frolic zu füttern - sorry ich glaube, eigentlich beim Lesen, wir meinen schon das gleiche - aber ich sprech nun mal manchmal chinesisch. Big Grin

Naja Hauptsache ist doch, das der Ardu uns versteht, egal auf welchem Weg wir mit ihm kommunizieren..
Ist wie bei Menschen, manchmal braucht man auch nen gutes Übersetzungsprogramm.
also nichts für Ungut.
greetz
Sloompie

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

Smile wusste doch, dass ich mich auf Dich verlassen kann!!!! Thx.
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, 18:18
Beitrag #23
RE: String als Funktion einsetzen
(25.02.2014 18:11)Sloompie schrieb:  Gut, dass wir drüber gesprochen haben - ich hätte sonst meinen Hund mit dem Programmcode (welchen auch immer) gefüttert.
Ich hab nur Katzen, die machen mit Programmcode immer so eine Sauerei. Naja, vielleicht liegt das daran, dass sie mit allem eine Sauerei machen.

Ich wollte Kikdiweg damit nur klarmachen, warum der Arduino keine dynamische Programmausführung kann... Ich lese hier schon eine Weile mit und daher ist mir klar, dass DU das sowieso verstehst.
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, 18:46
Beitrag #24
RE: String als Funktion einsetzen
Zitat:Ich lese hier schon eine Weile mit und daher ist mir klar, dass DU das sowieso verstehst.
Thorsten,
dass Du schon ne Weile hier mitliest, hab ich schon mitbekommen ( Du weisst doch, NSA und Co sind nix gegen "weibliche Intuition" Angel

Ich?? ich versteh aus Vorsicht schon mal gar nichts... Arduino ist wie die Liebe:
Zitat:In der Theorie, hab ich die Liebe (Arduino) begriffen.
In der Praxis fall ich immer wieder durch. Wink
© Sylvia Tubbesing


Zitat:Ich wollte Kikdiweg damit nur klarmachen, warum der Arduino keine dynamische Programmausführung kann

Es ist ja gelungen.... und ich bin mir sicher, Kikdiweg hat gelernt und DAS erklärt er jedem aus dem eff eff, wenn er gefragt wird, wie es geht.

Greetz
Sloompie

ähm
Katzen, Du schreibst:
Zitat:Naja, vielleicht liegt das daran, dass sie mit allem eine Sauerei machen.

Haben diese Wesen, doch etwas mit den Hunden gemeinsam???
Huh

Alles in allem - zählt für mich dieser Thread wieder zu denen, die Community ausmachen und der Ardu Gedanke durchklingt - so macht es allen Spass.
Wahrscheinlich auch den Vierbeinern zu Hause, weil während wir hier tippen und Lösungen suchen, die Köpfe rauchen und auch mal aneinander reiben, machen die gerade ganz fröhlich irgend nen Unsinn.
Big Grin

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
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  String / HTTP Request Marc2014 2 47 Heute 09:05
Letzter Beitrag: amithlon
  String zusammensetzen Mathias 13 548 01.09.2016 21:15
Letzter Beitrag: Mathias
  String-Array füllen? torsten_156 9 451 08.07.2016 20:07
Letzter Beitrag: amithlon
  String in EEPROM Speichern BennIY 2 415 27.06.2016 10:23
Letzter Beitrag: BennIY
  Funktion mit Parameterübergabe - u8g torsten_156 8 400 22.06.2016 18:53
Letzter Beitrag: Pit
  String - Buchstabenposition auswerten scritch 5 662 01.04.2016 16:25
Letzter Beitrag: rkuehle
  Funktion in Loop einmalig ausführen Haustechno 4 646 09.03.2016 22:43
Letzter Beitrag: Haustechno
  String nach UTF16 konvertieren (UTF-16) ThoEngel 0 301 20.02.2016 19:22
Letzter Beitrag: ThoEngel
  HC-05 Modul auf Funktion prüfen. arduinofan 2 365 03.02.2016 19:18
Letzter Beitrag: arduinofan
  Eine Funktion vorher definieren ? arduinofan 23 2.022 30.12.2015 08:42
Letzter Beitrag: amithlon

Gehe zu:


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