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 15:22 | Nová verze

    Nástroj pro obnovu dat GNU ddrescue (Wikipedie) byl vydán v nové verzi 1.30. Vylepšena byla automatická obnova z disků s poškozenou čtecí hlavou.

    Ladislav Hagara | Komentářů: 0
    dnes 12:55 | IT novinky

    Protokol IPv6 má již 30 let. První návrh specifikace RFC 1883 je z prosince 1995.

    Ladislav Hagara | Komentářů: 6
    dnes 01:55 | IT novinky

    Byli vyhlášeni vítězové ocenění Steam Awards 2025. Hrou roku a současně nejlepší hrou, která vám nejde, je Hollow Knight: Silksong.

    Ladislav Hagara | Komentářů: 3
    včera 21:11 | Nová verze

    Byla vydána nová verze 26.0 linuxové distribuce Manjaro (Wikipedie). Její kódové jméno je Anh-Linh. Ke stažení je v edicích GNOME, KDE PLASMA a XFCE.

    Ladislav Hagara | Komentářů: 1
    3.1. 20:22 | Humor Ladislav Hagara | Komentářů: 50
    3.1. 19:11 | Zajímavý software

    Byl představen webový prohlížeč Brow6el, běžící v terminálu. Pro prohlížení webu je využit Chromium Embedded Framework, vyrendrovaná webová stránka je následně zobrazena v terminálu převodem na sixely pomocí knihovny libsixel. Brow6el se ovládá modálním klávesnicovým rozhraním, inspirovaném populárním textovým editorem Vim. Demonstrační video s ukázkou používání.

    NUKE GAZA! 🎆 | Komentářů: 8
    2.1. 23:00 | IT novinky

    Společnost Pebble představila (YouTube) chytré hodinky Pebble Round 2. S kulatým e-paper displejem, s open source PebbleOS a vydrží baterie přibližně dva týdny. Předobjednat je lze za 199 dolarů s plánovaným dodáním v květnu.

    Ladislav Hagara | Komentářů: 7
    2.1. 14:22 | Humor

    Na novoroční inauguraci starosty New Yorku Zohrana Mamdaniho bylo zakázáno si s sebou přinést Raspberry Pi anebo Flipper Zero. Raspberry Pi i Flipper Zero jsou explicitně uvedeny v seznamu zakázaných věcí jak na na veřejné pozvánce, tak i na oficiálních stránkách města.

    NUKE GAZA! 🎆 | Komentářů: 66
    2.1. 11:33 | Nová verze

    OpenTTD (Wikipedie), tj. open source klon počítačové hry Transport Tycoon Deluxe, byl vydán v nové stabilní verzi 15.0. Přehled novinek v seznamu změn a také na YouTube. OpenTTD lze instalovat také ze Steamu.

    Ladislav Hagara | Komentářů: 5
    2.1. 11:11 | Nová verze

    Správce oken IceWM byl vydán ve verzi 4.0.0, která např. vylepšuje navigaci v přepínání velkého množství otevřených oken.

    |🇵🇸 | Komentářů: 5
    Které desktopové prostředí na Linuxu používáte?
     (1%)
     (4%)
     (1%)
     (13%)
     (30%)
     (7%)
     (7%)
     (5%)
     (13%)
     (41%)
    Celkem 151 hlasů
     Komentářů: 3, poslední včera 16:22
    Rozcestník

    Dotaz: Pomoc se sériovým kanálem v c++

    14.3.2010 21:06 Lyso
    Pomoc se sériovým kanálem v c++
    Přečteno: 299×
    Zdravím, mám takový menší problém. Programuju spojení mezi Aducem842 a Linuxem ( ubuntu ) pomocí RS232. Komunikaci mám vyřešenou tak, že vysílám tři znaky jednim směrem, tři znaky zpátky. Pořád dokola. Problém však nastane, když vyšlu 10, což je ASCII new line. Většinou mi při tom zkolabuje program v linuxu, tak že se přeruší komunikace.

    Mám tušení, v tom že jsem nastavil špatně seriový kanal. Mohl by se tedy prosím na to někdo podívat ?

    konfigurace kanálu:
     
                    // Get the current options for the port...
    		tcgetattr(fd, &options);
    
    		// Set the baud rates to 38400...
    		cfsetispeed(&options, B38400);
    		cfsetospeed(&options, B38400);
    
    		// Enable the receiver and set local mode...
    		options.c_cflag |= (CLOCAL | CREAD);
    		options.c_cflag &= ~PARENB;
    		options.c_cflag &= ~CSTOPB;
    		options.c_cflag &= ~CSIZE;
    		options.c_cflag |= CS8;
    		options.c_iflag |= (IXON | IXOFF | IXANY);
    		options.c_cflag &= ~CRTSCTS;
    		options.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG);
    
    		//	Set the new options for the port ...
    		tcsetattr(fd, TCSANOW, &options);
    a smyčka v které mi to při 10tce spadne. Z aducu se většinou vrací i ( je to zatim pouze test ) :
                                  for(i = 0;i<24;i++){
    					out_buffer[0] = 'z'; 
    					out_buffer[1] = i;
    					out_buffer[2] = 0;
    					write(fd, out_buffer, 3);
    					read(fd, in_buffer ,strlen(in_buffer));
    					
    					
    					usleep(10);
    					global[i][0] = in_buffer[1];
    					global[i][1] = in_buffer[2];
    
    					in_buffer[0] += '0';
    					in_buffer[1] += '0';
    					in_buffer[2] += '0';
    					printf("%s \r\n",in_buffer);
    					
    					if(i == 9)	
    						i = 10;
    				}
    Předem děkuji za jakoukoliv pomoc.

    Lyso

    Řešení dotazu:


    Odpovědi

    14.3.2010 21:09 Lyso
    Rozbalit Rozbalit vše Re: Pomoc se sériovým kanálem v c++
    Ještě dodám že to
    if(i == 9)	
    i = 10;
    
    
    jsem tam dodal kvůli toho aby se desitka přeskočila, potom to jde. Jenomže kdykoliv se na vstupu/vystupu desítka objeví, začne to dělat neplechu.
    14.3.2010 21:26 comander
    Rozbalit Rozbalit vše Re: Pomoc se sériovým kanálem v c++
    strelim len tak od boku:

    skusil by som port nastavit v konzoli podla clanku: http://www.abclinuxu.cz/clanky/hardware/seriova-komunikace-pod-linuxem-i

    a zakomentovat nastavovanie portu v programe. kazdopadne dajte vediet aky je progres
    15.3.2010 08:40 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: Pomoc se sériovým kanálem v c++
    options.c_iflag |= (IXON | IXOFF | IXANY);
    Tohle mi na první pohled přijde podezřelé, tipoval bych, že Xon/Xoff řízení toku by mělo být spíš vypnuté.
    Quando omni flunkus moritati
    15.3.2010 18:28 Lyso
    Rozbalit Rozbalit vše Re: Pomoc se sériovým kanálem v c++
    problém vyřešen, vypnul jsem ixoff, ixon a nastavil seriový kanál podle toho článku.

    Díky :)

    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.