Go Down

Topic: Anfänger braucht Starthilfe beim Code :) (Read 588 times) previous topic - next topic

Whandall

#15
Oct 21, 2019, 01:13 pm Last Edit: Oct 21, 2019, 01:17 pm by Whandall
Kopieren von strings -> strcpy, strncpy
Umwandelnd in Ganzzahlen -> atoi, strtol, strtoul

Warum hältst du dir am Anfang zusätzlich eine Sekunde die Ohren zu?

Code: [Select]
 delay(1000);

Strg-T in der IDE formatiert deinen Kode schöner,
die überflüssigen Leerzeilen musst du selbst entfernen.

Den statischen Text musst du nur einmal schreiben, setup bietet sich da an.
Ah, this is obviously some strange usage of the word 'safe' that I wasn't previously aware of. (D.Adams)

postmaster-ino

Hi
... sondern die blockierende Art der Programmierung als "ohne Probleme" hingestellt. Mit > 5000 Postings sollte man solche Grundlagen eigentlich schon wissen, dass blockierung in der Kommunikation kein guter Weg ist.
Ich schrieb nicht 'ohne Probleme', ich schrieb 'noch kein Problem'.
Außerdem sagt die >5000 was über das Quantum, aber danke, daß Du darin auch etwas Qualität rein interpretierst.

In dem Beispiel-Sketch (Der zumindest nicht auf meinem Mist geboren wurde ... gewachsen könnte Er wohl schon sein) sehe ich diese Blockierung aber, da gebe ich Euch Recht, als kein Problem an - unschön, Ja, aber Problem?? Nein.

Aber wie im echten Leben, wo jedes Arduino-Beispiel mit delay() nur so um sich wirft, wo Das doch ebenfalls böse ist, soll das Beispiel das gegenseitige Empfangen von Daten demonstrieren - Das sollte auch gegeben sein.

Ich verstehe ich Kritik, aber wie mit dem delay kommt es in dem Sketch nicht darauf an, ob die While-Schleife blockiert - eine Nennung im Kommentar, daß Das auch besser geht, wäre halt schön - ich gelobe Besserung, daß ich in Zukunft jeden noch so uninteressanten Fitzel, Der vll. ein Problem verdeutlicht (bzw. Dessen Lösung) hier erst zur Anzeige bringe, wenn man den Code auch als Lehrbeispiel in der Universität aufnehmen würde.

Wäre aber halt blöd, wenn ich der Einzige bin, Der dann auf Etikette achtet.

MfG
anscheinend ist Es nicht erwünscht, einen Foren-internen Link als 'Homepage' einzubinden, damit JEDER nur einen Klick von combie's Liste zum Thema State-Maschine entfernt ist.
... dann eben nicht ...

agmue

Dann mal eine nächste Frage um die wirklichen Probleme meines Lebens zu lösen ;););)
Meine wirklichen Probleme bekomme ich leider mit einem Arduino nicht gelöst :(

Wie bekomme ich den "empfangenen Text" "gesichert" so das ich ihn weiterverarbeiten kann zb.
für die Ausgabe an ein Digipot ???
Diese Frage verstehe ich nicht. Möchtest Du eine Zeichenkette in einzelne Variablen zerlegen? Welche Zeichenkette wird denn übertragen?
Wahnsinn und Verstand trennt nur eine dünne Wand. (Daniel Düsentrieb)

stetastic712

Es wird eine Zahl übertragen, max 5 Stellen  ( 0-9999 )

Mit serial.print(text) bekomme ich sie auch auf den Arduino der sie Empfängt ausgegeben,

allerdings  würde ich sie jetzt gern  weiterverarbeiten um damit den Digipot zwischen 0 und Max. zu regeln.

Die "Map" Funktion ist mir bekannt, aber wie bekomme ich meinen "text" als Eingangquelle formatiert/deklariert ?


 https://store.digilentinc.com/pmod-dpot-digital-potentiometer/


Vielen dank für die Hilfe :):)
Coden ist wie englisch,... wenn man schlecht ist kann man lesen und bissl verstehen....
Sprechen und schreiben ist dann was anderes ;)

Tommy56

#19
Oct 21, 2019, 08:32 pm Last Edit: Oct 21, 2019, 08:34 pm by Tommy56
Du suchst atoi. Das wurde Dir in #15 schon gesagt. Warum ignorierst Du die Hilfestellungen?

Gruß Tommy
"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)

Whandall

Es wird eine Zahl übertragen, max 5 Stellen  ( 0-9999 )
Stimmt der Text, oder das Beispiel?

Wenn das Beispiel, dann schau dir atoi an.
Wenn der Text, dann schau dir strtol an.
Ah, this is obviously some strange usage of the word 'safe' that I wasn't previously aware of. (D.Adams)

stetastic712

Das Beispiel stimmt .... Ich werde mal google nach atoi befragen ;)

agmue

C von A bis Z ist zwar nur C, aber dafür in für mich verständlichem Deutsch geschrieben.

Sonst auch hier: http://www.cplusplus.com/reference/cstdlib/atoi/?kw=atoi
Wahnsinn und Verstand trennt nur eine dünne Wand. (Daniel Düsentrieb)

stetastic712

void loop() {
 if (radio.available()) {
   char text[32] = "";
   radio.read(&text, sizeof(text));


hab aus dem // char text[32]=""; ein // int text = ""; gemacht,

scheint zu funktionieren  :D


Whandall

void loop() {
 if (radio.available()) {
   char text[32] = "";
   radio.read(&text, sizeof(text));


hab aus dem // char text[32]=""; ein // int text = ""; gemacht,

scheint zu funktionieren  :D


Der Eindruck täuscht.
Ah, this is obviously some strange usage of the word 'safe' that I wasn't previously aware of. (D.Adams)

Tommy56

Verstehe ich nicht.
Code: [Select]
int text = "";
ist völliger Unsinn.

Du liest ja Zeichen (char) ein. Evtl. hast Du ein Indexproblem und schreibst über das Array hinaus.

Gruß Tommy
"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)

Whandall

Man könnte natürlich auch direkt eine Zahl (uint16_t) übertragen...
Ah, this is obviously some strange usage of the word 'safe' that I wasn't previously aware of. (D.Adams)

stetastic712

#27
Oct 21, 2019, 10:12 pm Last Edit: Oct 21, 2019, 10:15 pm by stetastic712
Ihr habt Recht :)

aber so sollte es nun funktionieren ;)

Code: [Select]

void loop() {

  if (radio.available()) {
    char text[10]  = "";
    radio.read(&text, sizeof(text));
    display.clearDisplay();
    display.setTextSize(3);
    display.setTextColor(WHITE);
    display.setCursor(25, 10);
    display.println(text);
    display.setCursor(25, 40);
    display.println("Watt");
    display.display();

    int Ausgang = atol(text);
    Ausgang = map(Ausgang, 0, 10000, 0, 255);

    Serial.println(text);
    Serial.println(Ausgang);

Tommy56

#28
Oct 21, 2019, 10:14 pm Last Edit: Oct 21, 2019, 10:14 pm by Tommy56
Mit Sicherheit nicht. Das kompiliert ja nicht mal. Wie sollte es dann funktionieren?

Gruß Tommy
"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)

stetastic712

ich habe keine Ahnung,....aber,.... es funtioniert......:)

Go Up