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í
×
    dnes 13:11 | Nová verze

    Bylo vydáno OpenBSD 7.8. S předběžnou podporou Raspberry Pi 5. Opět bez písničky.

    Ladislav Hagara | Komentářů: 0
    dnes 05:44 | Nová verze Ladislav Hagara | Komentářů: 2
    dnes 05:22 | Bezpečnostní upozornění

    Byly publikovány informace o kritické zranitelnosti v knihovně pro Rust async-tar a jejích forcích tokio-tar, krata-tokio-tar a astral-tokio-tar. Jedná se o zranitelnost CVE-2025-62518 s CVSS 8.1. Nálezci je pojmenovali TARmageddon.

    Ladislav Hagara | Komentářů: 3
    včera 23:15 | Nová verze

    AlmaLinux přinese s verzí 10.1 podporu btrfs. XFS bude stále jako výchozí filesystém, ale instalátor nabídne i btrfs. Více informací naleznete v oficiálním oznámení.

    Max | Komentářů: 2
    včera 22:33 | IT novinky

    Společnost OpenAI představila svůj vlastní webový prohlížeč ChatGPT Atlas. Zatím je k dispozici pouze na macOS.

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

    Desktopové prostředí KDE Plasma bylo vydáno ve verzi 6.5 (Mastodon). Přehled novinek i s videi a se snímky obrazovek v oficiálním oznámení. Podrobný přehled v seznamu změn.

    Ladislav Hagara | Komentářů: 3
    včera 13:55 | IT novinky

    Rodina jednodeskových počítačů Orange Pi se rozrostla (𝕏) o Orange Pi 6 Plus.

    Ladislav Hagara | Komentářů: 6
    včera 13:33 | IT novinky

    Na Humble Bundle běží akce Humble Tech Book Bundle: All Things Raspberry Pi by Raspberry Pi Press. Se slevou lze koupit elektronické knihy od nakladatelství Raspberry Pi Press a podpořit Raspberry Pi Press, Raspberry Pi Foundation North America nebo Humble.

    Ladislav Hagara | Komentářů: 0
    včera 11:44 | Humor

    Přidaný režim autonomního řízení vozidel Tesla Mad Max je dostupný pro vybrané zákazníky v programu EAP (Early Access Program). Nový režim je na silnici agresivnější, častěji mění pruhy a ne vždy dodržuje rychlostní limity. Agentura JPP spekuluje, že v Česku by se mohl nový režim namísto Mad Max jmenovat Mad Turek...

    karkar | Komentářů: 24
    včera 04:00 | Nová verze

    Byla vydána nová verze 9.18 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Nově také pro NanoPi R3S, R3S LTS, R76S a M5. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (36%)
     (48%)
     (20%)
     (20%)
     (22%)
     (18%)
     (21%)
     (18%)
     (18%)
    Celkem 255 hlasů
     Komentářů: 14, poslední 14.10. 09:04
    Rozcestník

    Dotaz: sériový port

    26.6.2006 12:52 kutom | skóre: 1
    sériový port
    Přečteno: 278×
    Potřeboval bych poradit se sériovým portem a jeho obsluhout v C. Mám zkušební program, který posílá modemu AT a čeká na OK. Všechno to funguje, ale jakmile odpojím modem od pc, tak ten program dojde až puts("1") a pak se kousne a vyzkočím z něj pomocí ctrl+c. Když to close dám pryč, tak proběhnou oba řádky puts, ale kousne se pak taky a nejde už ani killnout. Musím zavřít terminál a přihlásit se znovu. Potřebuju aby normálně ten program skončil. Už nevím co s tím. Ta funkce modem() jenom pošle AT a čeká na OK. Když se při odpojeném modemu nedočká, tak po 1s timeoutu pokračuje.
    int main(void) {
        int fd, ret;
        struct termios options;
    
        fd = open("/dev/ttyS0", O_RDWR | O_NOCTTY | O_NDELAY);
        fcntl(fd, F_SETFL, 0);
        
        tcgetattr(fd, &options);
        cfsetispeed(&options, B9600);
        cfsetospeed(&options, B9600);
        options.c_cflag &= ~PARENB;
        options.c_cflag &= ~CSTOPB;
        options.c_cflag &= ~CSIZE;
        options.c_cflag |= CS8;
        options.c_cflag |= (CLOCAL | CREAD);
        options.c_cflag |= CRTSCTS;
        options.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG);
        options.c_oflag &= ~OPOST;
        options.c_cc[VMIN]  = 0;
        options.c_cc[VTIME] = 10;
        tcsetattr(fd, TCSANOW, &options);
    
        ret=modem(fd);
    
        puts("1");
        close(fd);
        puts("2");
        
        return(ret);
    }
    

    Odpovědi

    26.6.2006 13:04 kutom | skóre: 1
    Rozbalit Rozbalit vše Re: sériový port
    Tak jsem vypozoroval, že to má souvislost s write(fd,...) v té funkci modem. Když ho dám pryč, tak to skončí normálně. Asi to souvisí s vysílacím bufferem, že není připojené nic, co by ho vyprázdnilo. Ale co s tím?
    26.6.2006 13:33 kutom | skóre: 1
    Rozbalit Rozbalit vše Re: sériový port
    Tak už jsem to vyřešil. Chyba je to options.c_cflag |= CRTSCTS; taky mi to mohlo dojít dřív :-)

    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.