[Projekt verworfen] 3200 Bd in termios einfügen

  • Gutem Morgen zusammen,

    ich habe hier ([Projekt verworfen] RS232 auf unkonventionelle Bd.-Rate setzen?) schon beschrieben, warum ich die Bd.-Rate des /dev/ttyAMA0 auf 3200 setzen möchte.

    Weiterhin habe ich gesehen, dass in der termios.h die erlaubten Baudraten deffiniert sind. Nun wäre es sicherlich ein leichtes, dort 3200 Bd. einzufügen. Das wird aber nicht reichen. Wenn ich das richtig sehe, muss das dann neu compiliert werden.

    Aber was muss genau neu compiliert werden und wie macht man das? Kann ich das mit meinen geringen Kenntnissen vielleicht auch? Oder gibt es andere Möglichkeiten, die Schnittstelle passend zu manipulieren?

    Ich würde mich freuen, wenn mir jemand die Augen öffnen könnte.

    Viele Grüße

    Harald

    PS: Ich muss mich korrigieren: Die Bd.-Raten stehen beim RaspPi in /usr/include/asm-generic/termbits.h

    Einmal editiert, zuletzt von dk9jh (21. August 2014 um 14:43)

  • habe hier noch was geschrieben:
    [Projekt verworfen] RS232 auf unkonventionelle Bd.-Rate setzen?

    versuche doch mal termios.h mit 3200 zu erweitern, evtl. klappts ja

    glaube eher doch nicht, fürht nur zu weiterem define
    #define B2400 0000013
    #define B4800 0000014
    #define B9600 0000015


    sonst pyton verwenden ?

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

    Einmal editiert, zuletzt von jar (18. August 2014 um 11:53)

  • Hi,

    das wird nicht ganz so einfach sein.
    zunächst ist es ja fraglich, inwieweit die Baudrate von der Hardware unterstützt wird. Das hat dann eben mit Taktfrequenzen und Teilern zu tun. Selbst wenn der Chip die Baudrate unterstützt, musst Du den seriellen Treiber erweitern und in einen eigenen Kernel implementieren. Ich glaube jetzt nicht, dass der UART ein KLM ist ... der ist praktisch ja ab dem Bootvorgang als serielle Konsole vorhanden.

    Die einzig realisierbare Lösung würde ich darin sehen, eine eigene Software-Implementierung der rs232 vorzunehmen. Über zwei GPIOs und mit Interrupt-Handling könnte das bei der Baudrate klappen. Vielleicht findest Du ja auch was Fertiges in der Art.

    cu,
    -ds-


  • Hi,
    das wird nicht ganz so einfach sein.
    .....

    am PI gebe ich dir Recht ! ich denke auch da sind zuviele Stolpersteine, deswegen Atmel als Baudratenumsetzter :

    dk9jh
    17. August 2014 um 16:35

    und folgende

    Fehlerrate am Atmel in Abhängigkeit von Taktrate
    Taktfrequenz des Controllers in MHz
    Baud 1,00 2,00 4,00 7,373 8,00 11,059 14,318 14,746 16,00 18,432 20,00
    2400 0,2% 0,2% 0,2% 0,0% 0,2% 0,0% 0,0% 0,0% -0,1% 0,0% 0,0%
    4800 0,2% 0,2% 0,2% 0,0% 0,2% 0,0% 0,2% 0,0% 0,2% 0,0% 0,2%

    und 3200 Bd liegt dazwischen so das bei jeder Taktrate der Fehler vernachlässigbar ist

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

    Einmal editiert, zuletzt von jar (19. August 2014 um 21:18)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!