-         

Ergebnis 1 bis 3 von 3

Thema: Probleme beim Senden über RS232

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    10.01.2008
    Ort
    Bamberg
    Alter
    29
    Beiträge
    13

    Probleme beim Senden über RS232

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Servus!

    Nachdem ich mich jetzt schon seit Tagen durch das Forum und Google Suche und bis jetzt keinen nennenswerten Erfolg hatte wollte ich hier um Hilfe bitten...

    Mein Problem ist folgendes:
    Ich habe mehrere AVRs (Mega16) über den RS485-Bus miteinander verbunden. Damit ich den AVRs vom PC Daten senden kann habe ich einen RS232-RS485 Wandler gebaut.
    Die Kommunikation zwischen den AVRs funktioniert ohne Probleme (Kann Daten zwischen den AVRs senden und empfangen).
    Nur die Kommunikation zum PC macht Probleme. Ich kann am PC zwar am Terminal von Bascom empfangen, nur wenn ich Daten zu den AVRs sende funktioniert nichts.

    Das PC Programm zum senden (Visual Basic 6):
    Code:
    Private Sub verbinden_Click()
        With MSComm1
         .CommPort = 4
         .Settings = "9600,N,8,1"
         .PortOpen = True
         .RTSEnable = True
        End With
    End Sub
    
    Private Sub trennen_Click()
        MSComm1.PortOpen = False
    End Sub
    
    Private Sub senden_Click()
        MSComm1.Output = Chr(49) + Chr(13)
    End Sub
    und das Programm im AVR:
    Code:
    $regfile = "m16def.dat"
    $crystal = 16000000
    $baud = 9600
    
    'Port A
    Config Porta = Input
    Porta.0 = 1
    
    Config Portc.7 = Output
    
    'Port D
    Config Portd = Output
    
    Rs485 Alias Portd.2
    Rs485 = 0
    
    Dim Zeichen As Byte
    Zeichen = 0
    
    Portc.7 = 1
    
    Do
    
      Zeichen = Inkey()
      If Zeichen > 0 Then
        Portc.7 = 0
        Zeichen = 0
      End If
    
    Loop
    Gruß, Sven
    Angehängte Dateien Angehängte Dateien

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    46
    Beiträge
    765
    Wenn Du mit Flusskontrolle arbeiten möchtest, dann muss diese von allen Geräten unterstützt werden. Beim AVR kann ich da nix entdecken. Versuch mal folgendes:

    Private Sub senden_Click()
    MSComm1.RTSEnable = False
    MSComm1.Output = Chr(49) + Chr(13)
    MSComm1.RTSEnable = True
    End Sub
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    10.01.2008
    Ort
    Bamberg
    Alter
    29
    Beiträge
    13
    Servus!

    Hab deinen Vorschlag eingebaut und siehe da, es klappt

    Ich hätte noch eine Frage in Sachen String: Wie lang kann ich den String im AVR maximal definieren? Ich habe bis jetzt die Aussagen max. 70Stellen/Bytes und 254Stellen/Bytes gefunden...

    Gruß, Sven

Berechtigungen

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