-
die Methode habe ich auch, aber sie funktioniert nicht bei mir, obwohl laufend korrekte Strings vom Arduino im ComTerminal angezeigt werden
//---------------------------------------------------------------------------
void __fastcall TForm1::ComPort1RxChar(TObject *Sender, int Count)
{
AnsiString rcvStr;
ComPort1->ReadStr(rcvStr, 250);
// Liest die im Eingangspuffer vorhandenen "Count" -Bytes und kopiert sie
Label2->Caption=String("Test");
Form1->Caption="character detected";
}
//---------------------------------------------------------------------------
weder schreibt er "Test" ins Label2 noch "character detected" in den Form1 Titel
PS,
auch wenn ich das ComTerminal aus der Form1 rauslösche, ändert sich nichts - : keine Reaktion, keine Meldung
-
Du must im Objectinspector Connected auf TRUE setzen
oder es mit einem Button machen.
Code:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
ComPort1->Connected=TRUE;
}
ich hab das vorerst mit der Standardbaudrate 9600 gemacht. Also noch nichts umgestellt
Ich sende von meinem PIC über einen RS232 zu USB Converter auf COM3
-
mache ich, über einen Button:
Code:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
ComPort1->ShowSetupDialog();
ComPort1->Open();
if(ComPort1->Connected ) {
Button3->Enabled=true;
Button4->Enabled=true;
Button2->Enabled=true;
Button5->Enabled=true;
ScrollBar1->Position=0;
Label1->Caption=String(ScrollBar1->Position);
}
}
- - - Aktualisiert - - -
Aber auch wenn ich direkt open=connected mache und meinen COM15 fest eingebe (ohne Dialog), rührt sich nichts.
Im Terminal rauschen aber alle Strings durch.
-
Du fragst ab ob er "Connected" ist aber Du must ihn selbst erstmal Connecten,
ich glaube das Open Reserviert nur die Schnittstelle.
Setze mal noch Comport1.Connected = TRUE;
und versuche es
Ich weis auch noch nicht wie diese Komponente ganau funktioniert.
-
hast du mein Programmpaket in 13_test verwendet?
- - - Aktualisiert - - -
er ist ja connected, sonst könnte er ja auch nichts von den empfangenen ArduinoStrings im Terminal anzeigen.
Solange er nicht connected ist, zeigt er auch nichts im Terminal an.
-
nein ich hab lediglich ein neues Programm erstellt den Comport aufs Formular gesetzt.
Connected auf TRUE gesetzt und den Port ausgewählt, alles im Objektinspektor
dann Muss er auch in die Funktion OnRxChar reinkommen, wenn er etwas empfängt.
Mach mal ein NEUES Project, und wirklich nur die ComPort Komponente drauf.
Wenn ich das Terminalfenster drauf packe, gehts garnichts mehr ausser Fehlermeldungen.
Irgendwelche Bitmpas, keine Ahnung was das nun wieder ist.
Dann muss ich tasächlich eine neues Projekt machen, sonst geht das nie wieder.
Also einfach geht anders....Bild hier
-
scheint auch am terminal zu liegen, das muss wohl auch raus
-
115200 ist eventuell ungenau vom Arduino ??
ich hab in meinem Controller dafür extra Korrekturregister, das hat aber nicht jeder
Das Terminal leitet Dir vermutlich die Daten um, klinkt sich dazwischen und dann kommt er nicht mehr in deine Funktion,
ist aber nur eine Vermutung.
So, ich muss dann mal heiern.
Viel Spass noch.
Siro
-
115200 funktioniert sonst immer mit dem Due und auch mit allen anderen AVRs oder ARMs.
was hast du für COM Einstellungen
parity
start
stop
-
9600 Baud 8N1
8 Datenbits
1 Stopbit
No Parity