abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 22:55 | Nová verze

    Byla vydána Java 27 / JDK 27. Nových vlastností (JEP - JDK Enhancement Proposal) je 9.

    Ladislav Hagara | Komentářů: 0
    včera 17:44 | Nová verze

    Byl vydán Mozilla Firefox 156.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Vestavěný prohlížeč PDF se nyní spouští o 45 % rychleji. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 156 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    včera 14:11 | Nová verze

    Článek na Raspberry Pi představuje nový vzhled desktopu operačního systému Raspberry Pi OS v aktuálním vydání 2026-09-15.

    Ladislav Hagara | Komentářů: 1
    včera 14:00 | Bezpečnostní upozornění

    Nové verze Roundcube Webmailu 1.6.19 a 1.7.4 řeší několik zranitelností.

    vencour | Komentářů: 0
    včera 11:44 | Zajímavý projekt

    Na Kickstarteru běží kampaň na podporu hloupého (jenom volání a SMS) tlačítkového DIY telefonu MAKERphone 2.0 od společnosti CircuitMess postaveného na ESP32-S3 a volitelně také s hodinkami MAKERband. S možností psaní vlastních aplikací. S volitelnými HW rozšiřujícími moduly.

    Ladislav Hagara | Komentářů: 3
    včera 03:33 | Nová verze

    Byla vydána nová verze 10.7 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Přibyly balíčky HomeBox a Scrypted.

    Ladislav Hagara | Komentářů: 0
    včera 02:22 | Nová verze

    OpenRGB (GitLab) dospěl do verze 1.0 (YouTube). OpenRGB (dříve OpenAuraSDK) je svobodný multiplatformní software umožňující nastavení podsvícení celé řady různých „herních“ komponent a periferií.

    Ladislav Hagara | Komentářů: 0
    14.9. 21:00 | IT novinky

    Dnes startuje prodej headsetu Steam Frame. Počínaje dneškem se tedy můžete zapsat na seznam pro jeden z následujících modelů: Steam Frame 256 GB za 1 049 EUR a Steam Frame 1 TB za 1 279 EUR.

    Ladislav Hagara | Komentářů: 0
    14.9. 17:44 | Bezpečnostní upozornění

    Vládní CERT upozorňuje na kritickou zranitelnost v GitLab Community Edition (CE) a Enterprise Edition (EE). Zranitelnost CVE-2026-85706 typu path traversal v Repository Commits API dosahuje skóre CVSS 10.0. Kvůli nedostatečnému omezení cest a chybějícímu vynucení autentizace může za určitých podmínek neautentizovaný útočník číst libovolné soubory ze serveru GitLab, a získat tak přístup k citlivým datům a konfiguraci instance.

    Ladislav Hagara | Komentářů: 0
    14.9. 12:00 | Zajímavý projekt

    Linux může běžet nativně na ESP32-S3 – bez emulace a rovnou s 9,7″ e-paperem.

    Ladislav Hagara | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (29%)
     (8%)
     (5%)
     (2%)
     (14%)
     (21%)
    Celkem 2673 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník

    Dotaz: Nastavení linky TxD sériového portu na úroveň H

    10.9.2007 20:14 Rada | skóre: 14
    Nastavení linky TxD sériového portu na úroveň H
    Přečteno: 695×
    Zdravím všechny, pokouším se vytvořit program, který nastaví linku TxD sériového portu na úroveň H. Zkoušel jsem následující postup, který fungoval na ostatní výstupní linky DTR a RTS:

    int iFlags = TIOCM_ST; fd = open("/dev/ttyS0", O_RDWR | O_SYNC); ioctl(fd, TIOCMBIS, &iFlags); ...

    Pro linku TxD to ovšem nefunguje. Linky DTR a RTS se chovaly tak, že tento kód je nastavil na úroveň H a linky v ní setrvaly, dokud nebyl program ukončen. Linka TxD se tak ovšem nechová. Poradili byste mi prosím, co dělám špatně, případně jak jinak donutit linku TxD přepnout do úrovně H a aby v této úrovni setrvala?

    Řešení dotazu:


    Odpovědi

    Josef Kufner avatar 10.9.2007 20:25 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Nastavení linky TxD sériového portu na úroveň H
    Jedna chytrá knížka (Využití rozhraní PC, B. Kainka) říká, že se musí "nahodit break". Tedy na adresy BA + 3 zapsat 64. Jak to udělat pomocí ioctl jsem nehledal, ale jsem si jist, že to tam někde bude ;-)
    Hello world ! Segmentation fault (core dumped)
    13.9.2007 20:29 Rada | skóre: 14
    Rozbalit Rozbalit vše Re: Nastavení linky TxD sériového portu na úroveň H
    Děkuji za informace. Tak jsem si tu knížku opatřil a vámi popsanou sekci jsem si přečetl. Daný postup ale vyžaduje zápis dat do konkrétních paměťových míst, což je poněkud nad moje programátorské síly. Navíc to asi bude vyžadovat práva roota - přecejen, uživatel těžko může takhle sahat na hardware (tady si nejsem jistý) - toto by pro mě bylo dost nepříjemné omezení. Samozřejmě tuto možnost prozkoumám, ale upřednostnil bych cestu přes systémové knihovny - právě například pomocí ioctl. Neřešil jste někdo podobný problém?
    Josef Kufner avatar 13.9.2007 20:42 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Nastavení linky TxD sériového portu na úroveň H
    Koukni se do hlavičkových souborů jádra na věci okolo ioctl. Je tam toho kopec a moc dokumentované to není. Ta knížka byla psána pro DOS, kde žádné jiné API ani nebylo. Ale i tak je to celkem fajn věc, jen by to chtělo doplnit o ty věci okolo linuxího API.
    Hello world ! Segmentation fault (core dumped)
    Pavel Vymetálek avatar 14.9.2007 07:04 Pavel Vymetálek | skóre: 15 | Náchod
    Rozbalit Rozbalit vše Re: Nastavení linky TxD sériového portu na úroveň H
    Jak někdo přede mnou správně řekl, tomuto stavu se říká break. V c to lze udělat následovně:

    res = tcsendbreak(fd,duration);

    a nebo natrvalo

    res = ioctl(fd,TIOCSBRK) // nahodi break

    res = ioctl(fd,TIOCCBRK) // shodi break

    15.9.2007 15:16 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: Nastavení linky TxD sériového portu na úroveň H
    Někdo před vámi to řekl špatně. Stav break vyhodí na TxD logickou 0, tedy stav L. V logické 1 je tento pin sériového portu v klidu.
    Quando omni flunkus moritati
    Řešení 1× (Rada (tazatel))
    15.9.2007 10:01 Rada | skóre: 14
    Rozbalit Rozbalit vše Re: Nastavení linky TxD sériového portu na úroveň H
    Díky za poskytnuté rady. Problém je vyřešen. Použil jsem následující postup:
    ioctl(fd, TIOCSBRK); /* Nastavi TXD */
    ioctl(fd, TIOCCBRK); /* Vynuluje TXD */

    Funguje to přesně podle mých představ ;-)

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.