9600 Baud 8N1
8 Datenbits
1 Stopbit
No Parity
9600 Baud 8N1
8 Datenbits
1 Stopbit
No Parity
habe ich auch.
Im nackten Programm, nur mit der COM-Schnittstelle, läuft es bei 9600 (Ändert Form1->Caption)
Mit meinem programm aber nicht: zeigt zwar immer connected an (auch wenn fest voreingestellt), aber ändert nicht Caption.
Er erkennt also nichts in ComPort1RxChar().
- - - Aktualisiert - - -
habe nochmal alles von vorn eingegeben:
Die Read-Funktion und die Sende-Funktion stören sich uU gegenseitig.
Immerhin ändert er jetzt beim Start die Form1->Caption, und er reagiert jetzt plötzlich auch auf die LED-Stuerung.
Habe in der Arduino-Loop ein delay(20) eingefügt.
Reagiert jetzt so wie beschrieben, egal, ob mit 9600 baud oder 115200 baud.
Habe auch alles neu hochgeladen (115200 baud, mit Arduino-Programm):
https://github.com/dsyleixa/Borland-...jects/105_test
(115200 funktioniert sonst auch immer mit dem Due und auch mit allen anderen AVRs oder ARMs.)
Ebenfalls funktioniert jetzt auch die rcvStr-Lesefunktion:
(editiert)Code://--------------------------------------------------------------------------- void __fastcall TForm1::ComPort1RxChar(TObject *Sender, int Count) { Form1->Caption="character detected"; AnsiString rcvStr; ComPort1->ReadStr(rcvStr, 250); // Liest die im Eingangspuffer vorhandenen "Count" -Bytes und kopiert sie Label2->Caption=String(rcvStr); } //---------------------------------------------------------------------------
Vielen Dank auch, Siro, für deinen Test, ohne deine Hinweise zu deinem Minimal-Programm hätte ich sicher nicht nochmal alles neu zusammengebaut...![]()
Das freut mich zu hören, dass es nun weitergeht.
Übrigens liest Du immer 250 Bytes aus dem Puffer und nicht Count,
das ist sicher vorerst für Testzwecke.
Ist das serial.prinln im Arduino eigentlich Interrupt gesteuert über einen Transmitt Puffer und kehrt sofort zurück, oder
kehrt sie erst zurück wenn alle Daten ausgesendet wurden ?
Siro
Geändert von Siro (23.01.2019 um 10:56 Uhr)
- der Puffer ist jetzt überall 1024 bytes
- über Serial.println: weiß ich nicht, aber es funktioniert!
wie man das Lesen auf cnt begrenzen kann, muss ich mal sehen, eigtl wollte ich nur bis \n oder \n\r lesen
Neue Version 106 wird gleich hochgeladen:
3 digitale Pins on/off/pwm senden (frei definierbar)
9 int Variablen empfangen (frei definierbar)
6 double Variablen empfangen (frei definierbar)
https://github.com/dsyleixa/Borland-...rduinoCOM_RxTx
to do:
6 analogRead
16 digitalRead per Bitmask über 1 int
6 weitere int
6 double
6 pinWrite I/O/pwm
6 pinWrite I/O (ohne pwm)
Geändert von HaWe (24.01.2019 um 08:15 Uhr)
was etwas schade ist: ich habe noch keine senkrechten Slider gefunden, und auch erst recht noch keine virtuellen Joysticks, die man dann per Maus oder Touchscreen steuern könnte, analog zu den horizontalen Gleitreglern...![]()
Hallo HaWe,
das Programm wächst, sehr schön.
Klick mal auf deinen Slider und dann im Objectinspector,
da gibt es die Eigenschaft :
Kind
hier kannst Du sbHorizontal oder sbVertikal einstellen.
ich hab das zwar grad nicht vor mir, aber das war bei Delphi auch so.
Für den Joystick gabs hier mal was:
https://www.roboternetz.de/community...ilder-abfragen
Siro
Geändert von Siro (24.01.2019 um 11:53 Uhr)
Lesezeichen