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 04:22 | Komunita

    Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 216. sraz, který proběhne v pátek 20. února od 18:00 v Red Hat Labu (místnost Q304) na Fakultě informačních technologií VUT v Brně na ulici Božetěchova 1/2. Tématem srazu bude komunitní komunikační síť MeshCore. Jindřich Skácel představí, co je to MeshCore, předvede nejrůznější klientské zařízení a ukáže, jak v praxi vypadá nasazení vlastního repeateru.

    Ladislav Hagara | Komentářů: 0
    dnes 03:33 | Nová verze

    Byla vydána nová major verze 9.0 multiplatformní digitální pracovní stanice pro práci s audiem (DAW) Ardour. Přehled novinek, vylepšení a oprav v poznámkách k vydání.

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

    Hodnota Bitcoinu, decentralizované kryptoměny klesla pod 70 000 dolarů (1,44 milionu korun).

    Ladislav Hagara | Komentářů: 5
    včera 13:22 | IT novinky

    Valve z důvodu nedostatku pamětí a úložišť přehodnocuje plán na vydání zařízení Steam Controller, Steam Machine a Steam Frame: „Cílem tedy stále zůstává vydat všechna tři nová zařízení v první polovině letošního roku, ale přesná data a ceny jsou dvě věci, na kterých usilovně pracujeme a jsme si dobře vědomi toho, jak rychle se v tomto ohledu může vše změnit. Takže ač dnes žádné zveřejnitelné údaje nemáme, hned jak plány finalizujeme, budeme Vás informovat.“

    Ladislav Hagara | Komentářů: 1
    včera 03:11 | Komunita

    Do 20. února lze hlasovat pro wallpapery pro Ubuntu 26.04 s kódovým názvem Resolute Raccoon.

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

    Byla vydána lednová aktualizace aneb nová verze 1.109 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.109 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 1
    4.2. 19:33 | Zajímavý projekt

    Na Kickstarteru běží kampaň na podporu modulárního otevřeného handheldu Mecha Comet s Linuxem.

    Ladislav Hagara | Komentářů: 6
    4.2. 14:00 | Humor

    V nedávno zveřejněné kolekci dokumentů souvisejících s kontroverzním finančníkem a kuplířem Jeffrey Epsteinem se překvapivě objevil i referenční manuál unixového shellu Bash, jedná se o verzi manuálu z roku 2005. Aktuální vydání si lze stáhnout ze stránek GNU.

    NUKE GAZA! 🎆 | Komentářů: 17
    4.2. 13:55 | Nová verze

    The Document Foundation oznámila vydání nové verze 26.2 svobodného kancelářského balíku LibreOffice. Podrobný přehled nových vlastností i s náhledy v poznámkách k vydání (cs). Vypíchnout lze podporu formátu Markdown.

    Ladislav Hagara | Komentářů: 0
    4.2. 12:22 | Pozvánky

    Co se děje ve zprávách, ví asi každý - válka sem, clo tam, demonstrace na jednu i druhou stranu a bastlíř už má pocit, že se snad ani nic jiného neděje. To by však byl velký omyl a Virtuální Bastlírna je zde jako každý měsíc, aby vytáhla na světlo světa události ze světa vědy a techniky. Připojte se tedy nezávaznému povídání Strahovského MacGyvera! Co se tam bude probírat? PCBWay začalo dělat průhledné plošňáky, MARS končí s výrobou skříněk, FEL

    … více »
    bkralik | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (18%)
     (6%)
     (0%)
     (10%)
     (25%)
     (3%)
     (5%)
     (2%)
     (12%)
     (30%)
    Celkem 770 hlasů
     Komentářů: 25, poslední 3.2. 19:50
    Rozcestník

    Dotaz: Problem s IRQ v AVR

    31.3.2006 15:13 David Sedláček | skóre: 20 | Žďár nad Sázavou
    Problem s IRQ v AVR
    Přečteno: 717×
    Zdravim.

    Mam jednoduchy program viz. nize. Ovsem problem je, kdyz se snazim prijmout znak pomoci preruseni generovaneho pri zaplneni prijimaciho bufferu (prijaty znak).

    Kdyz nadefinuji makro SIGNAL(SIG_UART_RECV), pri prijeti znaku vsechno zatuhne- respektive cip nejevi znamky prace. Pritom by mel znak prijmout, ulozit a opet se vratit k posledni operaci, nemylim-li se?

    Cip je ATtiny2313.

    #include < avr/io.h>
    #include < stdlib.h>
    #include < util/delay.h>
    #include < avr/interrupt.h>
    #include < avr/pgmspace.h>
    
    #define F_CPU 8000000
    #define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit))
    #define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit))
    #define DATA_1	PB0	//1. pin s prevodnikem
    #define DATA_2	PB1
    #define CLK	PB7
    #define CS	PB6
    #define U_REF	5000
    #define AD_const (U_REF/256)
    
    typedef unsigned char uc8;
    typedef unsigned int ui16;
    
    void usart_transmit(uc8 data);
    void usart_transmit_string(const char *s);
    void zmerit_u(void);
    
    uc8 newline='\n', c;
    
    void zmerit_u(void)
    {
        uc8 i, bity, hodnota1, hodnota2, buffer[10];
    
        sbi(PORTB,CS);
        _delay_ms(20);
        cbi(PORTB,CS);
        for(i=0,hodnota1=0, hodnota2=0, bity=128;i<8;i++)
        {
            if(bit_is_set(PINB,DATA_1))
        	    hodnota1+=bity;
    	if(bit_is_set(PINB,DATA_2))
    	    hodnota2+=bity;
    	bity>>=1;
    	sbi(PORTB,CLK);
    	cbi(PORTB,CLK);
        }
        usart_transmit(newline);
        usart_transmit_string(itoa((hodnota1*AD_const), buffer, 10));
        usart_transmit(newline);
        usart_transmit_string(itoa((hodnota2*AD_const), buffer, 10));
    }
    
    void usart_transmit(uc8 data)
    {
        while(!(UCSRA & (1<< UDRE)));	//pockame na vyprazdneni vysilaciho bufferu
        UDR=data;
    }
    
    
    
    void usart_transmit_string(const char *s)
    {
        register uc8 ch;
        while(ch=*s++)
        {
    	usart_transmit(ch);
        }
    }
    
    uc8 usart_receive()
    {
        while(!(UCSRA&(1<< RXC)));
        return UDR;
    }
    
    SIGNAL(SIG_UART_RECV)
    {
        c=usart_receive();
    }
    
    void main (void)
    {
        /*nastavime vstupne vystupni porty*/
        sbi(DDRB,CLK); /*enable port 9 for output*/
        sbi(DDRB,CS);
        sbi(DDRB,PD2);
        cbi(DDRB,DATA_1);
        cbi(DDRB,DATA_2);
        UBRRH=0;
        UBRRL=51;
        UCSRB=(1<< TXEN)|(1<< RXEN)|(1<< RXCIE);
    //    UCSRC=(1<< USBS)|(3<< UCSZ0);
    sei();
        
        usart_transmit_string("#Starting Ronjamon..\n");
        while(1)
        {
    	if(c=='z') zmerit_u();
    	else if(c=='h') usart_transmit_string("Ronjamon, sith@wifistar.net\n");
    	cbi(PORTB,PD2);
    	_delay_ms(1000);
    	sbi(PORTB,PD2);
    	_delay_ms(1000);
        }
    }
    

    Odpovědi

    31.3.2006 18:09 RTOS | skóre: 6
    Rozbalit Rozbalit vše Re: Problem s IRQ v AVR
    Skus mcu.cz, protože tento dotaz nemá nic společné s PC.
    In God We Trust, Inc.
    27.11.2006 20:23 Bert | skóre: 15
    Rozbalit Rozbalit vše Re: Problem s IRQ v AVR
    www.mcu.cz je uz delsi dobu z duvodu nemoci nedostupne.
    7.12.2006 14:27 olis
    Rozbalit Rozbalit vše Re: Problem s IRQ v AVR
    skus mcu.phorum.cz
    27.11.2006 18:39 tali
    Rozbalit Rozbalit vše Re: Problem s IRQ v AVR
    nemalo vy to byt takto?

    SIGNAL (SIG_UART_RECV) { // USART RX interrupt

    unsigned char c;

    c = UDR;

    usart_receive();

    }
    27.2.2009 16:14 xurpha
    Rozbalit Rozbalit vše Re: Problem s IRQ v AVR

    No, asi je uz pozde na odpoved, ale presto: neni blbost jeste testovat bit UDRE, kdyz jsme v preruseni? Pokud preruseni nastalo, tak je jasne, ze ceka v UDR dalsi byte prijaty z UARTu...

    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.