Pages: [1]   Go Down
Author Topic: Probleme bei der seriellen Kommunikation.  (Read 772 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 13
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi,
ich versuche über ein Terminalprogramm Daten zwischen Arduino und dem Pc zu schicken.
Es werden auch Daten übertragen, aber leider ganz andere als ich jeweils sende.

Ein Drücken der Entertaste z.B. ergibt auf dem Serial Monitor ein "y"

wenn ich im Terminal test und danach Enter eingebe kommt auf dem Arduino
" MF y" an.

Muss ich beim Terminalprogramm evtl irgendwas einstellen?

Gruß
Ilu
Logged

Offline Offline
Full Member
***
Karma: 5
Posts: 193
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Du musst evtl. in der IDE wenn du den Pro Mini ,etc. verwendest
den korrekten Prozessor mit der korrekten Freguenz(16 bzw. 8 MHZ) einstelllen.
Wenn man das nicht macht kann der Text verstümmelt ankommen.
ich versuche über ein Terminalprogramm Daten zwischen Arduino und dem Pc zu schicken.
Den Seriellen Monitor in der IDE? Dann musst die richtige Baud-Rate angeben(die du im Sketch
angegeben hast) Vlt. einmal den Sktech zeigen.

Addi
Logged

  / \    _|  _| o
 /--\ (_| (_| |

Offline Offline
Newbie
*
Karma: 0
Posts: 13
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hiho,

die richtigen Daten sind eingestellt. Hier mal mein Sketch:
Code:
void setup(){
  
  Serial.begin(9600);
  
}
void loop(){
  if(Serial.available()) {
      int count = Serial.available();
      for (int i = 0; i<count; i++){
              char ch = Serial.read();
              Serial.print(ch);}
           Serial.print("\r");    
      
      }
  delay(1000);
  }

In der anderen Richtung ist genauso, wenn ich mit Serial.println was auf die serielle Schnittstelle ausgebe kommt im Terminalprogramm auch nur Müll an
« Last Edit: February 02, 2013, 11:33:14 am by iluvatar2k13 » Logged

Offline Offline
God Member
*****
Karma: 13
Posts: 857
ATmega 2560
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo,

was macht der Code in Deiner Loop Hauptschleife?

Wenn ich irgendwelche Zwischenwerte zum debuggen o.ä. auf ein Terminal ausgeben möchte, dann nutze ich nur in meinem Programmcode den Befehl bzw. Funktion

Serial.println(Speed, DEC);   

Dann bekomme ich im Terminalfenster den Wert meiner Variablen Speed dezimal ausgegeben.

Oben bei Setup mußte die serielle Schnittstelle nur mit   Serial.begin(9600);   initialisieren. Mehr mußte eigentlich nicht machen.
Versuch erstmal nur die Ausgabe damit. Sollte klappen. Nimmst Du das Terminalfenster vom IDE?
Wenn die Ausgabe klappt, nimmste die Arduino fertige von Serial lesen Funktion.



Logged

Tschau
Doc Arduino

Offline Offline
Newbie
*
Karma: 0
Posts: 13
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hiho,
ich benutze ein externes Terminalprogramm mit einem usb2serial adapter.

WEnn ich Daten über den Seriellen Monitor der IDE sende habe ich die richtigen Daten in beide Richtungen.

Logged

Offline Offline
God Member
*****
Karma: 13
Posts: 857
ATmega 2560
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo,

ich nehme an die Baudrate usw. stimmt im externen Terminalprogramm. Das läuft auf dem gleichen Rechner nur mit anderen COM Port vom zusätzlichen Adapter? Was passiert wenn Du das ext. Terminal auf den COM Port vom Arduino einstellst? Damit umgehst Du den Adapter und prüfst ob das auch mit Deinem Terminal klappt und nicht nur mit dem vom IDE. Aber immer nur ein Terminal offen bzw. connected haben.

Sonst.
Kannst Du die serielle Schnittstellen an einen Rechner anschließen der selbst noch eine RS232 hat? Also ohne USB Adapter?
Ich vermute der Adapter macht hier Mist. Das er selbst die Datenweitergabe verzögert. Ich habe bei meinen anderen/alten µC (Renesas R8C13) einen FTDI Chip verbaut. Das hat immer funktioniert.

Logged

Tschau
Doc Arduino

Offline Offline
Newbie
*
Karma: 0
Posts: 13
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hiho,
wenn ich das Terminalprogramm auf den Arduino einstelle klappts. Mal sehen ob noch n PC mit serieller Schnittstelle auftreibe.

Gruß
Ilu
Logged

Offline Offline
God Member
*****
Karma: 13
Posts: 857
ATmega 2560
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo,

was Du noch probieren kannst. Es kann auch sein das der FIFO Buffer vom Rechner OS, von dem virtuellen COM Port woran der Adapter hängt, Mist macht. Dazu kannst Du in dessen Eigenschaften (Gerätemanager) gehen und die beiden Schieberegler (Empfangs/Übertragungspuffer) nach links zu niedrig verschieben, falls die auf hoch oder mitte stehen. Probiere damit mal etwas rum.



Logged

Tschau
Doc Arduino

Offline Offline
Full Member
***
Karma: 2
Posts: 137
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

interessant wäre zu wissen, was da wirklich ankommt.
Quote
" MF y"
Das könnten auch Codes sein, die nicht oder nicht korrekt als Zeichen dargestellt werden können.

Mit Serial.print(ch,HEX); wird die Hexzahl des Zeichen ausgegeben.

um nochmals die Einstellungen zu überprüfen. Meine Einstellungen im Terminalprogramm
Logged

duemilanove / OSX & WIN
Arduino & Teensy: http://bit.ly/13rbdtQ

Offline Offline
Newbie
*
Karma: 0
Posts: 13
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hiho,

meine Einstellungen sehen bis auf RTS/CTS genauso aus, das habe ich nicht zur Auswahl.DTR Signal gibts bei mir auch nicht.

Das mit dem FiFo Puffer hab ich auch probiert, hat leider auch nichts gebracht. Ich werde mal sehen ob ich nen anderen Adapter bekomme, derweil begnüge ich mich mit der seriellen im Arduino.



Gruß
Ilu
Logged

Offline Offline
God Member
*****
Karma: 13
Posts: 857
ATmega 2560
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo,

Schade das es nichts gebracht hat mit dem FIFO Buffer. Wenn es mit dem anderen Terminalprogramm auf der normalen Arduino COM funktioniert, dann schließe ich daraus das Deine Terminaleinstellungen stimmen. Demnach kann es nur an dem Adapter liegen laut meiner Meinung. Achte bitte darauf bei der Suche nach einem neuen Adapter das ein FTDI FT232... Chip verbaut ist. Meistens ein FT232RL.
Logged

Tschau
Doc Arduino

Offline Offline
Newbie
*
Karma: 0
Posts: 13
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hiho,

werd ich machen,  und Danke noch für Eure Hilfe.


Gruß
Ilu
Logged

Pages: [1]   Go Up
Jump to: