- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 4 von 4

Thema: Anfänger braucht Hilfe bei Datenübertragung PC->µC

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Benutzer Stammmitglied
    Registriert seit
    08.02.2007
    Alter
    45
    Beiträge
    40

    Anfänger braucht Hilfe bei Datenübertragung PC->µC

    Hallo !

    Ich habe das Problem wenn ich einen String von meiner PC-RS232 Schnittstelle an meinen Atmega32 sende immer nur das 1. und manchmal auch das 2. Zeichen korrekt übertragen wird... Der Rest ist immer Müll..

    Das Empfangen der Daten vom µC auf dem PC funktioniert ohne Probleme!
    Wenn ich die Zeichen aber einzeln übertrage und dazwischen jeweils eine Millisekunde Zeit lasse dann werden alle Zeichen ordnungsgemäß übertragen.

    Vom PC aus sende ich die Daten mit einem Visual Basic Programm.

    Hier der VB6 Source:

    Code:
    Private Sub Command1_Click()
        ' Call ComAusgabe("MaXX")                 ‚<- funz weil 1ms pause zw jedem Zeichen…
    
        MSComm1.Output = "MaXX"               ‘<-funzt nicht  es kommt nur „Ma…ý“ an
    End Sub
    
    Private Sub ComAusgabe(Zeile As String)
     Dim Count As Integer
     For Count = 1 To Len(Zeile)
       Sleep 1
       MSComm1.Output = Mid(Zeile, Count, 1)
     Next Count
    End Sub
    
    
    Private Sub Form_Load()
        MSComm1.CommPort = 1
        MSComm1.Settings = "9600,N,8,1"
        MSComm1.PortOpen = True
        MSComm1.RThreshold = 1
        MSComm1.SThreshold = 1
        MSComm1.InputLen = 0
    End Sub
    
    Private Sub MSComm1_OnComm()
     Select Case MSComm1.CommEvent
        Case comOverrun:   MsgBox "Datenverlust!"
        Case comRxOver:    MsgBox "Datenverlust!"
        Case comEvReceive: Text = Text & MSComm1.Input
      End Select
      code.SetFocus
      code.Text = code.Text & Text
    End Sub
    
    Private Sub Form_Close()
        MSComm1.PortOpen = False
    End Sub

    Bascom Programm
    Code:
    '------------[Meta]-------------------------------------------------------------
    $regfile = "m32def.dat"
    $crystal = 11592000
    
    $hwstack = 32
    $swstack = 10
    '$framesize = 40
    $baud = 9600
    '------------[Lib für glcdKS108]------------------------------------------------
    $lib "glcdKS108.lbx"
    
    '------------[GLCD Config]------------------------------------------------------
    Config Graphlcd = 128 * 64sed , Dataport = Portc , Controlport = Porta , Ce = 1 , Ce2 = 2 , Cd = 3 , Rd = 4 , Reset = 0 , Enable = 5
    Cls
    Setfont Font8x8
    
    On Urxc Onrxd
    Dim I As Byte
    Dim S As String * 10
    
    Ddrd.5 = 1
    
    Enable Urxc
    Enable Interrupts
    
    Main:
       Portd.5 = Not Portd.5
       Waitms 1
    Goto Main
    
    Onrxd:
       I = Udr
       Udr = I
       S = S + Chr(i)
    
       Cls
       Lcdat 1 , 1 , S
    Return
    
    '------------[Ende]-------------------------------------------------------------
    End
    $include "font8x8.font"

    Gibt es eine möglichkeit den µC zu fragen ob er empfangsbereit ist o.ä?

    Ich wäre für jede Hilfe Dankbar!

    MfG MaXX

    PS: Ich bemerke gerade dass bei längeren Strings die Wartezeit von 1ms nicht mehr ausreicht
    Angehängte Dateien Angehängte Dateien

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress