Hallo Leute,
ich versuche aus einem Free Pascal Programm Daten mit dem ftduino auszutauschen. Mit einer Vorlage aus dem Netz habe ich einen Teilerfolg erzielt.
Hier die Programme:
Über den Monitor in der Arduino IDE funktioniert alles wie es soll.
Wenn ich allerdings aus dem Pascal Programm ein Zeichen sende, geht kurz die LED am Arduino an weil ein Zeichen im Puffer ist, aber es wird kein Zeichen gelesen und anschließend auch nichts zurück in nach Pascal übertragen.
ich versuche aus einem Free Pascal Programm Daten mit dem ftduino auszutauschen. Mit einer Vorlage aus dem Netz habe ich einen Teilerfolg erzielt.
Hier die Programme:
CODE:
#include <Arduino_BuiltIn.h>#include <FtduinoSimple.h>char ch;int counter;void setup() { Serial.begin(115200); pinMode(LED_BUILTIN,OUTPUT);}void loop() { counter = Serial.available(); if (counter>0){ digitalWrite(LED_BUILTIN,HIGH); Serial.print(counter); delay(100); ch=Serial.read(); if ((ch>=97) and (ch<=122)){ ch-=32; } Serial.print("Das kommt vom ftduino:"); Serial.println(ch);} else {digitalWrite(LED_BUILTIN,LOW); } }
CODE:
program ftarduinocom;uses serial, // Für Serielle-Kommunikation. Crt; // Für Tastatur-Eingabe und Delay.var serHandle: TSerialHandle; // Handle für COM-Port. ch: char;begin serHandle := SerOpen('COM4'); // Bei Windows 'COMx' // COM-Port öffnen. SerSetParams(serHandle, 115200, 8, NoneParity, 1, []); repeat ch := ReadKey; write(ch); if ch >= #32 then begin write(SerWrite(serHandle, ch, 1)); // Zeichen senden. ch := #0; // Zeichen auf #0 setzen. Delay(10); // Kleine Verzögerung. write(SerRead(serHandle, ch, 1)); // Zeichen empfangen. Write(ch); // Zur Überprüfung auf Bildschirm ausgeben. end; until ch = #27; // Bei <ESC> abbrechen. SerClose(serHandle); // COM-Port schliessen.end.
Wenn ich allerdings aus dem Pascal Programm ein Zeichen sende, geht kurz die LED am Arduino an weil ein Zeichen im Puffer ist, aber es wird kein Zeichen gelesen und anschließend auch nichts zurück in nach Pascal übertragen.
Statistik: Verfasst von schröttel — 05 Apr 2024, 17:24