Vlákno názorů k článku Komunikace pomocí sériového portu RS-232C od enarki - Zdravim, Prosim, vie niekto z diskutujucich alebo autor ako...

  • Článek je starý, nové názory již nelze přidávat.
  • 4. 12. 2008 18:58

    enarki (neregistrovaný)
    Zdravim,

    Prosim, vie niekto z diskutujucich alebo autor ako nastavit na UART-e variabilnu rychlost ?
    (tusim bola vtedy oznacovana ako USER_BAUD v dokumentacii)

    Vysvetlenie: velmi davno (v dobach 486) som napisal program v asm, ktory bol pouzity ako lacny frekvencny generator (seriovy port je dokonca skratuvzdorny, ma vnutorne obmedzenie prudu), kde tato moznost bola pouzita. Pamatam sa, ze vtedy uvadzali v dokumentacii, ze nie kazdy UART to podporuje, ale skusal som to na vsetkych (cez 20 typov) pc v okoli a fungovalo to vsade. Bohuzial program sa stratil aj dokumentacia, takze si teraz nepamatam, ako UART inicializovat do tohoto rezimu a pripadne ako zistit, ci dany UART tuto moznost podporuje.

    Vdaka
  • 4. 12. 2008 19:57

    Josef Pavlik
    Melo by to jit pres setserial

    setserial umoznuje nastavit parametr spd_cust, coz umozni zvolit libovolny divisor ktery se pouzije, kdyz aplikace zvoli rychlost 38400.
    hodnota divisoru bude (na standardnim portu) div=115200/2/pozadovana_frekvence
    (pozadovana frekvence nemuze byt vyssi nez 57600)

    pote bude potreba zvolit rychlost 38400, napriklad programem stty


    Od tohoto okamziku staci v nekonecnem cyklu posilat 0x55 do /dev/ttyS0 a z Tx by mela lezt prislusna frekvence.

    Melo by stacit neco na zpusob:

    FREQ=1000
    setserial /dev/ttyS0 divisor $((115200/2/$FREQ)) spd_cust
    stty -F /dev/ttyS0 ospeed 38400
    tr "\0" "\125" </dev/zero >/dev/ttyS0

    NEOVERENO
    nekamenujte me, jestli to nepojede
    :-)