- Labornetzteil AliExpress         
Ergebnis 1 bis 5 von 5

Thema: Baudratenkonverter 9600 -> 4800

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    12.06.2004
    Beiträge
    61

    Baudratenkonverter 9600 -> 4800

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo,
    da ich einige Zeit nichts mehr mit Bascom programmiert habe will ich euch mal fragen, ob das machbar ist.

    Ich habe noch im Hinterkopf das mit Bascom eine Software-UART realisierbar ist.

    Folgende Idee:
    Ich habe ein Gerät das mit 9600Baud Daten(ASCII) ausgibt. Ein weiteres Gerät empfängt aber nur mit 4800Baud. Kann ich nicht jetzt einen zB Tiny12L nutzen, der über die "HardwareUart" den ASCII-String empfängt und über die Software(4800) wieder ausgibt. Das Daten verloren gehen ist klar; ist aber nicht schlimm, da sie mehrmals vom Sender wiederholt werden.

    Was denkt ihr? Gab es so einen Ansatz vielleicht schon mal?

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    17.02.2006
    Alter
    54
    Beiträge
    781
    Du brauchst halt 'nen Zwischenspeicher (FIFO) für die Daten, dafür braucht man SRAM, und davon haben die Tinys nicht viel. Wie viele Bytes du brauchst musste selber wissen. Dann dürfte es nicht mehr sonderlich schwer sein. Wenn was ankommt, in den FIFO rein, wenn ein Bit per Software gesendet wurde, das nächste aus dem FIFO senden.

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    03.11.2004
    Beiträge
    370
    Das dürfte ohne weiteres mit einem Tiny45 machbar sein.

    Wieviel Bytes sendet der Sender in einem Paket? (Das wäre wichtig zu wissen)

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    11.04.2005
    Beiträge
    1.469
    http://www.mikrocontroller.net/topic/79813#666143
    Es geht um eine GPS-Maus, also NMEA Daten

    Gruß
    Christopher

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    03.11.2004
    Beiträge
    370
    Naja dann ist das ja ganz easy.
    Ich kenn jetzt GPS Daten nicht ganz, deshalb würde ich (vorrausgesetzt ein LF wird gesendet) so vorgehen

    Open "comd.1:4800,8,n,1" For Output As #2

    do
    idle
    loop
    end

    Uart_interrupt:
    a=udr
    gpsstring=gpsstring+str(a)
    if a=10 then gosub ausgabe ' 10=line feed
    return

    ausgabe:
    print #2,gpsstring
    gpsstring=""
    return

Berechtigungen

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

Solar Speicher und Akkus Tests