- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 10 von 17

Thema: RS232 seltsames Verhalten....

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Benutzer Stammmitglied
    Registriert seit
    09.01.2012
    Beiträge
    75

    RS232 seltsames Verhalten....

    Hallo,
    mal wieder ein kleines RS232-Problem über das ich seit zwei Tagen brüte...
    Über einer Konsolenanwendung in C (selbsterstelltes Programm in CodeBlocks) sende ich Zeichen, Bytes und Strings zu meinem Mikrocontroller.
    Der Mikrocontroller ist in Bascom programmiert, tut aber eigentlich nichts weiter zur Sache.
    In dem C Programm gebrauche ich die Header-Datei rs232.h.
    Kleines Schema der Programms, das auf dem PC arbeitet:

    Code:
    #include "rs232.h"
    int main(){
    unsigned char zeichen;
    int COM=2; *\Entspricht COM3\*
    if(OpenComport(COM,19200)){
    printf("COM3 nicht erreichbar!");}
    else{
    printf("COM3 aktiv!");}
    printf("Bitte ein zu sendendes Zeichen eingeben: ");
    fflush(stdin);
    scanf("%c",&zeichen);
    SendByte(COM,zeichen);
    printf("\n");
    }
    So in etwa sieht das PC-Programm aus.

    Das µC-Programm (eigentlich mit LCD Display) in BASIC als Schema:

    Code:
    $baud=19200
    Dim Empangen as Byte
    Cls
    Locate 1,1
    Lcd "Empangen:"
    Do
    If Ischarwaiting() = 1 Then
    Empangen = Inkey()
    Locate 2,1
    Lcd Empangen
    Loop
    End
    Folgendes Problem habe ich:

    Wenn ich den USB/RS232-Wandler in den USB-Port einstecke und dann ein Zeichen von meinem C-Programm in den µC schicken möchte erscheint auf meinem LCD-Display immer eine 0
    nachdem ich das Zeichen gesendet habe. Das heißt ja eigentlich, dass mein µC etwas empfangen hat, das aber nur eine 0 ist, die aus dem Puffer geholt wurde.
    Das Problem habe ich solange, bis ich ein Zeichen über das RS232-Terminal in Bascom sende. Egal ob ich eine 0,1,2,3.... sende, nachdem ich über das Terminal ein Zeichen versandt habe, kann ich auch über mein C-Programm ein Zeichen senden, welches dann korrekt auf dem LCD erscheint.
    Nach einem Neustart des Controllers bleibt das immernoch so. Wenn ich allerdings den USB/RS232 Adapter entferne und neu einstecke, kommt das selbe Problem wieder bis ich ein Zeichen über das Terminal sende.
    Ich hab so viel probiert...Hat jemand eine Idee was das ist???

    Danke! =)

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    09.01.2012
    Beiträge
    75
    Niemand eine Idee? =(

  3. #3
    Erfahrener Benutzer Roboter Experte Avatar von Thomas E.
    Registriert seit
    29.12.2011
    Beiträge
    638
    Ganz schnell geschossen:
    Code:
    $baud=19200
    Dim Empangen as Byte
    Cls
    Locate 1,1
    Lcd "Empangen:"
    Do
         If Ischarwaiting() = 1 Then
              Empangen = Inkey()
              Locate 2,1
              Lcd Empangen
         End If
    Loop
    End
    Grüße
    Thomas

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    09.01.2012
    Beiträge
    75
    Danke =)
    Aber abgesehen von den eingefügten Leerzeichen im If/Then Zweig ist das doch das gleiche Programm...Was meinst du damit?
    Gruß,
    Peter

  5. #5
    Erfahrener Benutzer Roboter Experte Avatar von Thomas E.
    Registriert seit
    29.12.2011
    Beiträge
    638
    Zitat Zitat von pete1612 Beitrag anzeigen
    Danke =)
    Aber abgesehen von den eingefügten Leerzeichen im If/Then Zweig ist das doch das gleiche Programm...Was meinst du damit?
    Nein, ich habe per End If die von dir geöffnete If-Bedingung geschlossen. Mich wundert, dass dein Compiler nicht gemeckert hat...
    Grüße
    Thomas

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    09.01.2012
    Beiträge
    75
    Nein, nein.... =) Ich habe den Code in der Pause von der Firma aus aus dem Kopf abgetippt...Dumm, dass mir so ein Fehler unterlaufen ist..
    Das End If ist natürlich mit im Code drin.. Wie gesagt, wenn ein Zeichen vom Terminal-Programm aus (also quasi per Hand) eingetippt wird, dann klappt es danach auch mit dem normalen von mir programmierten C-Programm auf dem Rechner...Bis man dann halt den USB/RS232-Adapter wieder vom Rechner trennt und neu aufsteckt...
    Sendet denn ein Terminal-Programm beim ersten Mal eine besondere Zeichenfolge oder eine Art Konfiguration..Weil mein C-Programm sendet ja nur die nackten Bytes...

Ähnliche Themen

  1. seltsames Verhalten am I2C
    Von liquidus im Forum Elektronik
    Antworten: 12
    Letzter Beitrag: 06.12.2009, 18:42
  2. Seltsames verhalten
    Von Atmelbeginne im Forum Microcontroller allgemeine Fragen/Andere Microcontroller
    Antworten: 6
    Letzter Beitrag: 10.12.2008, 19:37
  3. Seltsames Verhalten vom ADC an RN-Control
    Von MasterFX im Forum Schaltungen und Boards der Projektseite Mikrocontroller-Elektronik.de
    Antworten: 0
    Letzter Beitrag: 19.04.2008, 18:09
  4. RN Motor seltsames Verhalten
    Von User969 im Forum Elektronik
    Antworten: 0
    Letzter Beitrag: 30.10.2005, 11:38
  5. Seltsames Verhalten Schrittmotorsteuerung
    Von Baumschubser im Forum Elektronik
    Antworten: 2
    Letzter Beitrag: 03.07.2005, 22:12

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress