ftduino und Free Pascal
Verfasst: 05 Apr 2024, 17:24
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: Alles auswählen
#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: Alles auswählen
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.