- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 10 von 22

Thema: Brauche Hilfe beim UART

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    35
    Beiträge
    3.501
    Blog-Einträge
    9
    Hey,

    danke für die Anmerkungen.
    Ich glaube in Bascom fangen Arrays immer bei 1 an. Ich meine mich erinnern zu können das Bascom meckert sobald man von einem Array die 0. Stelle ausgeben will.
    Ich werde sie mal umsetzen
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.113
    Zitat Zitat von Kampi Beitrag anzeigen
    Ich glaube in Bascom fangen Arrays immer bei 1 an. Ich meine mich erinnern zu können das Bascom meckert sobald man von einem Array die 0. Stelle ausgeben will.
    Du kannst seit einigen Versionen mit dem Befehl
    Config Base = 0
    Arrays auch bei 0 anfangen lassen. Ist manchmal ganz angenehm.

  3. #3
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    35
    Beiträge
    3.501
    Blog-Einträge
    9
    Also so funktioniert es mit dem Backslash nicht:

    Code:
    
    'ISR vom UART
    Uart_recieved:
    
       Uart_buffer = Udr                                        'Eingehendes Zeichen zwischenspeichern
       If Uart_buffer <> Chr(13) Then                           'Abfrage nach Enter
    
          If Uart_buffer <> Chr(8) Then                         'Abfrage nach Backspace
    
             Print Chr(uart_buffer);                            'Eingehendes Zeichen ausgeben
             Input_uart_overlay(bytes_recieved) = Uart_buffer
             Incr Bytes_recieved
    
          Else
    
             Input_uart_overlay(bytes_recieved) = 0             'Zeichen löschen
             If Bytes_recieved > 0 Then Decr Bytes_recieved     'Zähler um Eins Verringern
    
          End If
    
       Else
    
       End If
    
    Return
    Oder meinst du das die Zeile an einer anderen Stelle stehen muss?
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.113
    Hallo Daniel,
    du meinst Backspace (also ein Zeichen löschen und zurückgehen) und nicht Backslash, oder?
    Hiermit schreibst du anschließend aber evtl. in Input_uart_overlay(0), wenn Bytes_recieved vorher =1 war
    If Bytes_recieved > 0 Then Decr Bytes_recieved
    Ich bin mir jetzt nicht sicher, wie die restliche Logik deines Programms ist, würde aber vermuten, dass du im Moment, wo ein Zeichen eingelesen werden soll gerade auf dem Stringende (=0) stehst. Dazu müsstest du die Reihenfolge der beiden Befehl umdrehen, also so:
    If Bytes_recieved > 0 Then Decr Bytes_recieved 'Zähler um Eins Verringern
    Input_uart_overlay(bytes_recieved) = 0 'Zeichen löschen
    Oder was meinst damit, dass es nicht funktioniert?

  5. #5
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    35
    Beiträge
    3.501
    Blog-Einträge
    9
    Hey,

    ja ich meinte Backspace! Hab die beiden verwechselt.
    Mit nicht funktionieren meine ich, dass er anscheinend immernoch irgendwie falsch zählt.
    Aber ich setze mich morgen nochmal damit auseinander.
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  6. #6
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    01.10.2009
    Beiträge
    437
    Es ist völlig zweckfrei das Zeichen zu löschen, denn entweder überschreibst Du es das nächste Mal mit einem anderen Zeichen, da der Index dekrementiert wird, oder Du empfängst ein CR, woraufhin Du den Stringterminator "0" schreibst.
    Und mach' mal ein "received" draus, das schmerzt ja im Auge

  7. #7
    Erfahrener Benutzer Roboter Experte Avatar von Thomas E.
    Registriert seit
    29.12.2011
    Beiträge
    638
    Zitat Zitat von for_ro Beitrag anzeigen
    Du kannst seit einigen Versionen mit dem Befehl
    Config Base = 0
    Arrays auch bei 0 anfangen lassen. Ist manchmal ganz angenehm.
    Echt jetzt? Seit welcher Version geht das?
    Grüße
    Thomas

  8. #8
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    01.10.2009
    Beiträge
    437
    Zitat Zitat von Thomas E. Beitrag anzeigen
    Seit welcher Version geht das?
    Siehe history.txt, seit 2.0.0.0

  9. #9
    Erfahrener Benutzer Roboter Experte Avatar von Thomas E.
    Registriert seit
    29.12.2011
    Beiträge
    638
    Zitat Zitat von MagicWSmoke Beitrag anzeigen
    Siehe history.txt, seit 2.0.0.0
    Danke, da hab ich anscheinend was verpasst.
    Grüße
    Thomas

Ähnliche Themen

  1. Brauche Hilfe bei der Kommunikation zweier Atmega über UART
    Von gm4288 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 4
    Letzter Beitrag: 27.12.2011, 21:47
  2. brauche Hilfe beim Prozessor
    Von Asko im Forum Yeti
    Antworten: 8
    Letzter Beitrag: 04.12.2011, 00:07
  3. Brauche Hilfe beim Umrechnen
    Von a4b68e im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 6
    Letzter Beitrag: 16.10.2011, 20:47
  4. Antworten: 4
    Letzter Beitrag: 20.02.2008, 18:39
  5. brauche hilfe beim basteln
    Von over load im Forum Elektronik
    Antworten: 15
    Letzter Beitrag: 08.03.2006, 10:03

Berechtigungen

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

Labornetzteil AliExpress