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í
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
dnes 15:30 | IT novinky

Nadace Raspberry Pi představila na svém blogu Raspberry Pi Compute Module 3 (CM3 a CM3L), tj. zmenšené Raspberry Pi vhodné nejenom pro průmyslové využití. Jedná se o nástupce Raspberry Pi Compute Module (CM1) představeného v dubnu 2014. Nový CM3 vychází z Raspberry Pi 3 a má tedy dvakrát více paměti a desetkrát větší výkon než CM1. Verze CM3L (Lite) je dodávána bez 4 GB eMMC flash paměti. Uživatel si může připojit svou vlastní. Představena byla

… více »
Ladislav Hagara | Komentářů: 0
dnes 01:23 | Nová verze

Oficiálně bylo oznámeno vydání verze 3.0 multiplatformního balíku svobodných kancelářských a grafických aplikací Calligra (Wikipedie). Větev 3 je postavena na KDE Frameworks 5 a Qt 5. Krita se osamostatnila. Z balíku byly dále odstraněny aplikace Author, Brainstorm, Flow a Stage. U Flow a Stage se předpokládá jejich návrat v některé z budoucích verzí Calligry.

Ladislav Hagara | Komentářů: 2
včera 15:25 | Nová verze

Bylo oznámeno vydání první RC (release candidate) verze instalátoru pro Debian 9 s kódovým názvem Stretch. Odloženo bylo sloučení /usr jako výchozí nastavení v debootstrap. Vydán byl také Debian 8.7, tj. sedmá opravná verze Debianu 8 s kódovým názvem Jessie.

Ladislav Hagara | Komentářů: 6
včera 13:37 | Zajímavý projekt

1. ledna byl představen projekt Liri (GitHub). Jedná se o spojení projektů Hawaii, Papyros a původního projektu Liri s cílem vyvíjet operační systém (linuxovou distribuci) a aplikace s moderním designem a funkcemi. Včera byl představen Fluid 0.9.0 a také Vibe 0.9.0. Jedná se o toolkit a knihovnu pro vývoj multiplatformních a responzivních aplikací podporující Material Design (Wikipedie) a volitelně také Microsoft Design Language (designový jazyk Microsoft) [reddit].

Ladislav Hagara | Komentářů: 5
14.1. 00:33 | Zajímavý software

Google na svém blogu věnovaném open source představil knihovnu pro komprimaci a dekomprimaci 3D grafiky s názvem Draco. Knihovna bude využívána například v aplikacích pro virtuální a rozšířenou realitu. Porovnání Draco s gzip na YouTube. Zdrojové kódy Draco jsou k dispozici na GitHubu pod licencí Apache 2.0.

Ladislav Hagara | Komentářů: 5
13.1. 17:27 | IT novinky

V loňském roce proběhla úspěšná kampaň na Indiegogo na podporu GPD Win. Jedná se o malý 5,5 palcový notebook a přenosnou herní konzoli v jednom. Předinstalované Windows 10 lze nahradit Linuxem. V únoru by se na Indiegogo měla objevit kampaň na podporu 7 palcového notebooku GPD Pocket.

Ladislav Hagara | Komentářů: 28
13.1. 02:00 | Nová verze

Po pěti měsících od vydání verze 1.0.0 (zprávička) byla vydána verze 2.0.0 frameworku Kirigami (HIG) pro vytváření uživatelských rozhraní mobilních a konvergentních aplikací nad toolkitem Qt. Pro vyzkoušení je určena aplikace pro Android Kirigami gallery.

Ladislav Hagara | Komentářů: 0
12.1. 23:28 | Zajímavý software

Akční hra Lugaru HD od Wolfire Games (recenze) byla uvolněna jako svobodný software, a to včetně dat (pod licencí Creative Commons Attribution – Share Alike). Linuxový port byl v roce 2010 součástí první akce Humble Indie Bundle a engine byl krátce poté uvolněn pod licencí GNU GPL, což vedlo mj. k portu na AmigaOS. Autor mezitím pracuje na pokračování nazvaném Overgrowth.

Fluttershy, yay! | Komentářů: 0
12.1. 14:49 | Bezpečnostní upozornění

Na serveru Jabb.im bylo zveřejněno vyjádření k úniku dat z Jabbim Archive (pastebin). Dump databáze obsahuje komunikaci uživatelů, jejich IP adresy a logy aplikace od října 2015 do března 2016. Celkově se jedná o 8 GB dat, převažujícím jazykem zpráv je čeština a slovenština. O úniku informoval jako první server Motherboard. Jabbim Archive byla službou volitelnou, dostupnou pouze pro VIP uživatele. Podle provozovatele serveru Jabb.im k

… více »
Michal Makovec | Komentářů: 68
12.1. 12:55 | Nová verze

Telegram Desktop, klient služby pro rychlé psaní zpráv Telegram (Wikipedie, zdrojové kódy) pro počítače, byl představen v roce 2013. Dnes byla vydána verze 1.0. Podrobnosti v oznámení na blogu.

Ladislav Hagara | Komentářů: 12
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (10%)
 (2%)
 (75%)
 (3%)
 (10%)
Celkem 291 hlasů
 Komentářů: 19, poslední 13.1. 22:02
    Rozcestník
    Reklama

    Dotaz: ATMEGA8535 a seriová komunikace

    26.6.2005 21:53 Hrabosh | skóre: 26 | blog: HBlog | Brno
    ATMEGA8535 a seriová komunikace
    Přečteno: 333×
    Zdravím.
    Snažím se rozchodit sériovou komunikaci mezi mikrokontrolérem ATMEGA8535 a PC. Mou snahou bylo, aby ten atmel poslal po sériáku číslo 5. (Na zkoušku.) Natáhl jsem tedy do něj následující:
    
    /* defines for backward compatibility */
    #ifndef cbi
    #define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit))
    #endif
    #ifndef sbi
    #define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit))
    #endif
    
    
    int main(void) {
    
    /* UART init */
    UBRRH=0;
    UBRRL=51;
    sbi(UCSRB,RXEN);
    sbi(UCSRB,TXEN);
    cbi(UCSRC,UMSEL); //asynchornni prenos
    cbi(UCSRC,UPM1);
    cbi(UCSRC,UPM0); //odd parity
    cbi(UCSRC,USBS); //1 stop bit
    cbi(UCSRC,UCSZ2);
    sbi(UCSRC,UCSZ1);
    sbi(UCSRC,UCSZ0);//8 datovych bitu
    
    
    while (1) {
    
    loop_until_bit_is_set(UCSRA, UDRE);
    UDR = "5";
    }
    return 0;
    }
    
    Potom jsem nastavil port na PC: stty -F /dev/ttyS1 9600 cs8 clocal cread -cstopb parenb parodd a napsal jsem: cat /dev/ttyS1 a čekal...a ono prd.
    Nevíte někdo, kde je problém ?? Mezi procákem a PC je samozřejme MAX232CPE.
    Hrabosh
    PS...aby toho nebylo málo, tak ten křemikovej blbec přestal reagovat na moje snahy ho naprogramovat. Dycky se hlásí jinym ID a avreal ho odmítá naprogramovat, takze asi odesel..to by me zajimalo proc.
    To jsem psal já ... to není bordel, to je modulární!

    Odpovědi

    27.6.2005 09:27 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: ATMEGA8535 a seriová komunikace
    Zkus tohle, mám to vyzkoušeno:
    #include <avr/io.h>
    
    void print (char *string){
      while (*string) {
      loop_until_bit_is_set(UCSRA, UDRE);
      UDR = *string;
      string++;
      }
      return;
    }
    
    
    int main(void) {
      /* UART init */
      sbi(UCSRB, RXEN);
      sbi(UCSRB, TXEN);
      UCSRC = (1 << URSEL) | (1 << USBS) | (3 << UCSZ0);
      UBRRH = 0x01; /*479 is baud rate 1200*/
      UBRRL = 0xdf; /*479 is baud rate 1200*/
    
      while (1) {
        print ("Hello world.\n");
      }
      return 0;
    }
    
    
    A do toho svého kódu napiš raději
    UDR = '5';
    
    Nedokážu říct přesně kde máš chybu, protože používáme příliš odlišné postupy. Sériový port nastavuju jiným způsobem (viz mé články o sériové komunikaci), na programování jednočipu používám uisp a ani by mě nenapadlo si nadefinovávat makra cbi a sbi pro "zpětnou kompatibilitu" ;-)
    27.6.2005 10:08 David Jež | skóre: 42 | blog: -djz | Brno
    Rozbalit Rozbalit vše Re: ATMEGA8535 a seriová komunikace
    Není to ID náhodou nastavitelné v konfiguraci? Nemohl sis ho přeplácnout při pokusech?
    -djz
    "Yield to temptation; it may not pass your way again." -- R. A. Heinlein
    27.6.2005 12:43 Hrabosh | skóre: 26 | blog: HBlog | Brno
    Rozbalit Rozbalit vše Re: ATMEGA8535 a seriová komunikace
    Díky, vyzkoušim, jakmile koupím nový processor.
    Jinak s tím přepsáním ID: Myslím, že ne, protože se pokaždé posílá něco jiného (kdybych si to přepsal, tak tam bude furt jedna blbina) a navíc jsem to dělal tak, že jsem vyvolával šipkou nahoru minulej příkaz, takže jsem používal pořád ten samý.
    Z.H.
    To jsem psal já ... to není bordel, to je modulární!
    30.6.2005 16:33 Hrabosh | skóre: 26 | blog: HBlog | Brno
    Rozbalit Rozbalit vše Re: ATMEGA8535 a seriová komunikace
    Nedaří se. Koupil jsem nový mikrokontrolér, a jde programovat bez potíží. Nahral jsem tam tedy program (od J.Martínka), akorát jsem změnil ty dva řádky s sbi:
      UCSRB = (1 << RXEN) | (1 << TXEN);
    
    . Procesor beží na vnitřní oscilátor (8Mhz).(CKSEL = 4 ) Port jsem nastavil takto:
    stty -F /dev/ttyS1 1200 -parenb -cstopb cs8
    
    Tedy: Baudrate 1200, bez parity, 8datových bitů a 2 stopbity.
    Bohužel však cat /dev/ttyS1 stále nic nevypisuje. Zkoušel jsem nejřív zapnout cat a pak mikrokontrolér i obráceně....nic.
    Už fakt nevím, kde mám chybu. Dokonce jsem v zoufalství i přeměřoval kabel...
    Z.H.
    To jsem psal já ... to není bordel, to je modulární!
    30.6.2005 17:08 David Jež | skóre: 42 | blog: -djz | Brno
    Rozbalit Rozbalit vše Re: ATMEGA8535 a seriová komunikace
    Něco v assembleru by nebylo :-)? Pokud si posíláš třeba mezi dvěma počítači data po seriáku tak ti to funguje? Jseš si jistý, že ten procesor opravdu funguje a kmitá? I když pokud šel naprogramovat tak asi ani. Máš ho v prostředí, kde může fungovat nebo se tvůj program ani provádět nezačne, protože procesor visí někde v bootbloku? Zkus se podívat třeba logickým analyzátorem jestli z něj vůbec něco leze, zkus si také stáhnout někde třeba jednoduchý blikač, napálit a podívej se jestli ti bliká, případně zkus napalovat na jiném programátoru jiným softem nejlépe u někoho, komu to funguje. Abys vyloučil, kde můžeš mít problém.
    -djz
    "Yield to temptation; it may not pass your way again." -- R. A. Heinlein
    30.6.2005 17:46 Hrabosh | skóre: 26 | blog: HBlog | Brno
    Rozbalit Rozbalit vše Re: ATMEGA8535 a seriová komunikace
    Nebylo :o). Zkoušel jsem to a nepovedlo se mi to. TxD jsem zapojil na RxD a obracene. Když jsem ale na jednom portu spojil TxD a RxD a neco poslal a v druhe konzoli to cetl, tak to sice prislo, ale byl mezi tim zvetsujici se pocet radku. Vypadalo to nejak takhle:
    TEXT
    
    TEXT
    
    
    TEXT
    
    
    
    
    
    TEXT
    
    Kmitá určitě. Zkoušel jsem tam nahrát program na blikání ledkama. (tím vylučuju problém se softem a programátorem).
    Ten program podle mě viset nezůstává. Když jsem třeba zkoušel vysílání, tak sem před vysláním znaku rožnul LEDku a po odeslání zase zhasnul.
    Zůstávalo to viset jen když to čekalo na příjem. (LED svítíla pořád...)
    Z.H.
    PS...logický analyzátor nemám. Když na ten výstup připojím logickou sondu, tak svítí obě (H i L) z čehož usuzuju, že z toho něco leze. Mám osciloskop, ale i když ho dám na "největší rychlost", tak vidím jen dvě zelené čáry nad sebou. (Je to muzejní elektronkovej kousek z roku 68).
    To jsem psal já ... to není bordel, to je modulární!
    30.6.2005 18:07 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: ATMEGA8535 a seriová komunikace
    Zvětšuje se počet prázdných řádků? Vůbec mě to nepřekvapuje. Přečti si můj článek o sériovém portu:
    http://www.abclinuxu.cz/clanky/show/63006
    a nastav parametry tak jak doporučuju.
    30.6.2005 18:11 David Jež | skóre: 42 | blog: -djz | Brno
    Rozbalit Rozbalit vše Re: ATMEGA8535 a seriová komunikace
    Zle realizovaný sériový protokol? Na straně mikrokontroléru máš dobře generovány všechny start stop bity? Jestli píšeš, že to čekalo na příjem, tím myslíš čeho, potvrzení? To se ale na třech drátech nedělá, ne? Nejsem si jistý, jestli čtení přes cat je ten správný způsob, zkus ještě jak se to bude chovat s použitím terminálu. Třeba minicom. Ten se chová určitě korektně, umí potvrzovat pokud je potřeba a tak. Dva terminály proti sobě, pokud sedí rychlosti a jsou nastaveny stejně, určitě takové problémy nedělají. Mně to dělává bez zvětšujících se řádků.
    -djz
    "Yield to temptation; it may not pass your way again." -- R. A. Heinlein
    30.6.2005 18:27 Hrabosh | skóre: 26 | blog: HBlog | Brno
    Rozbalit Rozbalit vše Re: ATMEGA8535 a seriová komunikace
    Vyřešeno. Ten PC měl vadný porty. Na jiným to šlo a když jsem tam pak dal kartu s portama, tak ok. Asi jsem si ho zničil, když jsem tak zkoušel nacpat ten kus alobalu a spojil sem to s kostrou :o(
    Jinak ten článek (oba díly) jsem četl (a mám ho v bookmarku, je to tam pěkne popsaný). Ty mezery mezi řádkama nepředstavovaly problém, problém byl, že z toho mikrokontroléru nic nešlo...
    Jinak s tím čekáním na příjem myslím to, že jsem měl v programu něco ve smyslu:
    loop_until_bit_is_set(ten bit, co se nastavi když jsou v UDR nepřečtený data);
    
    Ale ted je možný, že už to půjde dobře.
    V každým případě děkuji všem zůčastněným.
    Z.H.
    PS...z toho mikročipu ted nejde "Hello world", ale smes nejakych (zda se opakujicih se) pismen...nestalo se to nekomu ? (nez se zacnu hrabat v nastaveni, ze bych presne vedel, o co go)
    To jsem psal já ... to není bordel, to je modulární!
    30.6.2005 18:57 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: ATMEGA8535 a seriová komunikace
    Směs nesmyslů dostaneš tehdy, když nesouhlasí nastavení, třeba baud rate nebo počet stop bitů nebo tak něco. Pošli výpis
    stty -aF /dev/ttyS0
    30.6.2005 20:57 Hrabosh | skóre: 26 | blog: HBlog | Brno
    Rozbalit Rozbalit vše Re: ATMEGA8535 a seriová komunikace
    Tady je vypis: stty -F /dev/ttyS1 1200 clocal cread -crtscts cs8 -cstopb hup -parenb parodd -brkint -icrnl ignbrk -igncr ignpar imaxbel -inlcr inpck -istrip -iuclc -ixany ixoff -ixon bs0 cr0 ff0 nl0 -ocrnl -ofdel -ofill -olcuc -onlcr -onlret onocr -opost tab0 vt0 -crterase crtkill -ctlecho -echo -echok -echonl -echoprt -icanon -iexten -isig -noflsh -tostop -xcase time 5 min 1

    cat vyhodi:
    śĄ×Ö.6!B
            td▒7Fk
    
    Z.H.
    To jsem psal já ... to není bordel, to je modulární!
    30.6.2005 21:00 Hrabosh | skóre: 26 | blog: HBlog | Brno
    Rozbalit Rozbalit vše Re: ATMEGA8535 a seriová komunikace
    ee...to byl prikaz. Vypis je tady:
     
    stty -F /dev/ttyS1 -a
    speed 1200 baud; rows 0; columns 0; line = 0;
    ...
    -parenb parodd cs8 hupcl -cstopb cread clocal -crtscts
    ignbrk -brkint ignpar -parmrk inpck -istrip -inlcr -igncr -icrnl -ixon ixoff
    -iuclc -ixany imaxbel
    -opost -olcuc -ocrnl -onlcr onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0
    ff0
    -isig -icanon -iexten -echo -echoe -echok -echonl -noflsh -xcase -tostop
    -echoprt -echoctl echoke
    
    To jsem psal já ... to není bordel, to je modulární!
    30.6.2005 22:40 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: ATMEGA8535 a seriová komunikace
    Teď si nejsem moc jistý, ale jestliže používáte interní oscilátor běžící na 8MHz, tak bude asi potřeba změnit dělící konstantu podle vzorce
    f_osc/(16*baud)-1
    což pro baud=1200 dělá nějakých
    415.666666666667
    Co se stane, když se dělící konstanta nastaví na 416, tedy
    UBRRH = 0x01
    UBRRL = 0xA0
    Pomůže to? Snad mu ta odchylka cca promile nebude moc vadit.
    30.6.2005 22:51 Hrabosh | skóre: 26 | blog: HBlog | Brno
    Rozbalit Rozbalit vše Re: ATMEGA8535 a seriová komunikace
    Bylo to tím. Dal jsem tam 2400 (konstanta 209 - z tabulky v datasheetu k ATMELu) a jede to. Vypisuje text hezky pod sebe.
    Děkuji.
    Z.H.
    To jsem psal já ... to není bordel, to je modulární!
    30.6.2005 22:58 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: ATMEGA8535 a seriová komunikace
    To jsem rád, že to jede. Ale ještě drobnost - jestli počítám správně, tak pro baud=2400 vychází dělící konstanta 207.333333, nikoli 209. Ale ono to asi moc nehraje roli.
    30.6.2005 23:11 Hrabosh | skóre: 26 | blog: HBlog | Brno
    Rozbalit Rozbalit vše Re: ATMEGA8535 a seriová komunikace
    Je to možný. Já sem to nepočítal, ale opsal z tabulky v datasheetu. Chyba tam byla udávaná 0.2%, což byla vůbec jedna z nejmenších. Hlavně, že to chodí.
    Z.H.
    To jsem psal já ... to není bordel, to je modulární!
    30.6.2005 22:28 Hrabosh | skóre: 26 | blog: HBlog | Brno
    Rozbalit Rozbalit vše Re: ATMEGA8535 a seriová komunikace
    Este doplnek:
    To, co jsem poslal je vypis, kdyz je ta komunikace nastavena tak, jak si myslim, ze by nastavena byt mela. {bez parity, 2stop bity).A navic to vyhodi, az to vypnu. Pokud to bezi, nevypisuje to nic.
    Pokud dam sudou paritu (na PC):
    ľś@nşśşśnşľ@ş@şś@ş@şľ@nşľśşś@şľś@nľśşľ@nşľśşľ@núşľś@şľś^▒^s
    
    To se normálně vypisuje za chodu. Pokud jednocip vypnu, tak to jeste hodi tak 7-8 znaku a prestane. Pokud ho zapnu, zase zacne. Kdyby to misto tech kravin psalo normalni text, byl by maximalne spokojen.
    Pokud dam lichou paritu (na PC):
    
    ˛`N
    N
    ˛`N
    ˛N
    ˛N
    ˛`N
    N
    ˛
    ˛N
    N
    ˛`N
    
    Nastavovani poctu stop-bitu nema vliv na predchozi dva pripady. Pokud zapnu jeden stop-bit v pripade s vyplou paritou, vysledek je:
    ]YŽ:śĄĄ v&▒twtkd×
    
    Ale zase se to vypise az po vypnuti.

    Nevim, jak je to mozne. Vsadil bych se, ze mikrokontroler je nastavenej tak, ze tam neni parita, dva stop-bity, rychlost 1200.
    Na HW zavadu to nevidim, kdyby nekde neco zhorelo, tak by to podle me neslo vubec. Uz me nic nenapada...vas jo ??
    Z.H.
    To jsem psal já ... to není bordel, to je modulární!

    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.