- LiFePO4 Speicher Test         
Seite 2 von 4 ErsteErste 1234 LetzteLetzte
Ergebnis 11 bis 20 von 34

Thema: RS232 Datenmüll bei tiny2313

  1. #11
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    16.06.2005
    Ort
    Göppingen
    Beiträge
    360
    Anzeige

    E-Bike
    Code:
    $crystal = 8000000
    $regfile = "ATtiny2313.DAT"
    $baud = 9600
    Echo Off
    
    Config Timer1 = Timer , Prescale = 256
    On Timer1 Timer1_irq
    On Urxc Isr_data                                            'On Urxc
    
    Const Timervorgabe = 3036
    
    Enable Urxc
    Enable Timer1
    Enable Interrupts
    
    Config Portd.3 = Output                                     'LED red
    Ledred Alias Portd.3
    Config Portd.4 = Output                                     'LED yellow
    Ledyellow Alias Portd.4
    Config Portd.5 = Output                                     'LED green
    Ledgreen Alias Portd.5
    
    Dim B As Byte                                               'Buffer
    Dim S As String * 5                                         'Buffer
    
    Do
     Toggle Ledgreen
    
     If Ucase(s) = "PROG" Then
      Print "entering programm mode"
     End If
    
     S = ""
    
     Wait 2
    Loop
    
    End
    
    
    Timer1_irq:
     Timer1 = Timervorgabe
     Toggle Ledred
    Return
    
    Isr_data:
     Toggle Ledyellow
     B = Udr
     S = S + Chr(b)
    Return
    Aktueller Source...


    Egal was ich drücke er antwortet sofort mit "Müll"

    das Terminal ist ok...habe es mit einem anderen PC getestet,

    Mfg

  2. #12
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    16.06.2005
    Ort
    Göppingen
    Beiträge
    360
    Biiittte wergft irgentwelche Gründe in den Raum an was es liegen könnte.

    Ich hab hier noch mal das Prog:
    Code:
    $crystal = 8000000
    $regfile = "ATtiny2313.DAT"
    $baud = 9600
    Echo Off
    
    Config Timer1 = Timer , Prescale = 256
    On Timer1 Timer1_irq                                        'On Urxc
    
    Const Timervorgabe = 3036
    
    Enable Timer1
    Enable Interrupts
    
    Config Portd.3 = Output                                     'LED red
    Ledred Alias Portd.3
    Config Portd.4 = Output                                     'LED yellow
    Ledyellow Alias Portd.4
    Config Portd.5 = Output                                     'LED green
    Ledgreen Alias Portd.5
    
    Dim B As Byte                                               'Buffer
    Dim S As String * 5                                         'Buffer
    
    Do
     B = Ischarwaiting()
    
     If B = 1 Then
      Input S
     End If
    
     Toggle Ledgreen
    
     If Ucase(s) = "PROG" Then
      Print "entering programm mode"
     End If
    
     S = ""
    
     Wait 2
    Loop
    
    End
    
    
    Timer1_irq:
     Timer1 = Timervorgabe
     Toggle Ledred
    Return
    Er sendet mir ständig wirre $08 zu. Auf die PROG abfrage reagiert er uch nicht.

    Könnte es evtl. ein Hardwareproblem (treiber o. µC) sein

    Mfg

  3. #13
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    16.06.2005
    Ort
    Göppingen
    Beiträge
    360
    UPDATE:

    Code:
    '004.BAS: UART-Empfänger ohne Interrupt
    'Hardware: MAX232 an PD0/PD1, Nullmodemkabel zum PC
    '---------------------------------------------------
    $regfile = "tiny2313.dat"                                   'AT90S2313-Deklarationen
    $crystal = 8000000                                          'Quarz: 3.6864 MHz
    $baud = 9600                                                'Baudrate der UART: 9600 Baud
    
    Dim i As Byte
    
    Do
    If Ucsra.7 = 1 Then                                         'Wenn Byte empfangen...
    i = UDR 'Byte aus UART auslesen
    Select Case i
    Case "H"
    Print "Hallo AVR"
    Case "h"
    Print "hallo avr"
    Case Else
    Print "Unbekannter Befehl"
    End Select
    End If
    
    Waitms 200
    Loop
    End
    Habe nun zum Spielen einfach mal diesen Code genommen.

    ucsra.7 ist immer auf 1 obwohl ich dem Chip nichts sende!

    Der String Unbekannter Befehl wird aber korrekt übertragen.

    Das senden von "h" oder "H" wird aber nicht beachtet.

  4. #14
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    28.10.2004
    Ort
    Baoding
    Alter
    44
    Beiträge
    689
    So funzt das bei mir

    Code:
    '004.BAS: UART-Empfänger ohne Interrupt
    'Hardware: MAX232 an PD0/PD1, Nullmodemkabel zum PC
    '---------------------------------------------------
    $regfile = "ATtiny2313.dat"                                 'Tiny2313-Deklarationen
    $crystal = 8000000                                          'Quarz: 8 MHz
    $baud = 9600                                                'Baudrate der UART: 9600 Baud
    
    Dim i As Byte
    
    
    Do
    If Usr.rxc = 1 Then                                         'Wenn Byte empfangen...
      I = Udr                                                   'Byte aus UART auslesen
      Select Case I
        Case "H"
          Print "Hallo AVR"
        Case "h"
          Print "hallo avr"
        Case Else
          Print "Unbekannter Befehl"
      End Select
    End If
    
    Waitms 200
    Loop
    End

    MfG RoFo88

  5. #15
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    16.06.2005
    Ort
    Göppingen
    Beiträge
    360
    Bei mir nicht...ich bekomme ständig Unbekannter Befehl (Obwohl ich nichts in den Buffer sende)

  6. #16
    Neuer Benutzer Öfters hier
    Registriert seit
    06.11.2006
    Ort
    Lörrach
    Alter
    55
    Beiträge
    24
    Was soll ich sagen, ich habe das Prog von gestern Abend (18.16Uhr) mal auf meien Tiny geladen, 8MHz interner Takt und Teiler ausgeschalten.
    Das genze läuft auf dem Pollin-Boad.

    Wenn ich nun mit AVR Terminal "prog" sende kommt als Antwort zurück "entering prog mode" (so habe ich es im Prog hinterlegt.) - bei mir funktioniert das.

    Hier der Code:

    Code:
    $crystal = 8000000
    $regfile = "ATtiny2313.DAT"
    $baud = 9600
    
    Config Timer1 = Timer , Prescale = 256
    On Timer1 Timer1_irq
    On Urxc Isr_data                                           
    
    Const Timervorgabe = 3036
    
    Enable Urxc
    Enable Timer1
    Enable Interrupts
    
    Config Portd.5 = Output                                    
    Config Portd.6 = Output
    Led1 Alias Portd.5
    Led2 Alias Portd.6                                 
    
    Dim B As Byte                                              
    Dim S As String * 5                                       
    
    Do
     Toggle Led1
    
     If Ucase(s) = "PROG" Then
      Print "entering prog mode"
     End If
    
     S = ""
    
    Wait 2
    
    Loop
    
    End
    
    
    Timer1_irq:
    Return
    
    Isr_data:
     Toggle Led2
     B = Udr
     S = S + Chr(b)
    Return
    Gruß
    gomaman

  7. #17
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    16.06.2005
    Ort
    Göppingen
    Beiträge
    360
    Bei mir nicht

    also Hardware - oder...

  8. #18
    Neuer Benutzer Öfters hier
    Registriert seit
    06.11.2006
    Ort
    Lörrach
    Alter
    55
    Beiträge
    24
    Da das Programm ja funktioniert würde ich mal sagen JA. Hast Du irgendwelche Tauschteile?

    Evtl. liegt auch ein Fehler in der Handhabung (glaube ich zwar nicht),. den Text (prog) sende ich mit AVR Terminal als Plain text. Ein nacheinander senden der Buchstaben funktioniert nicht (keinerlei Rückmeldung)

  9. #19
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    16.06.2005
    Ort
    Göppingen
    Beiträge
    360
    Ich habe es mit Docklight versucht. Negativ (ich habe eigentlich eine sehr große RS232 erfahrung deshalb war ich ja so verwundert)

    Ich habe hier mal 2 Bilder von der Platine.

    Ich habe beide ICs µc und max232 als ersatzteil hier. welchen soll ich zuerst ersetzen?

    Mfg
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken kopie_von_img_8070.jpg   kopie_von_img_8073.jpg  

  10. #20
    Neuer Benutzer Öfters hier
    Registriert seit
    06.11.2006
    Ort
    Lörrach
    Alter
    55
    Beiträge
    24
    Da ich davon ausgehe dass die LED funktionieren und somit auch der Tiny, würde ich mit dem MAX232 anfangen.

Seite 2 von 4 ErsteErste 1234 LetzteLetzte

Berechtigungen

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

Solar Speicher und Akkus Tests