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 12:26 | Nová verze

V dubnu letošního roku Mozilla představila webový prohlížeč pro rozšířenou a virtuální realitu Firefox Reality (GitHub). V úterý oznámila vydání verze 1.0. Ukázka na YouTube. Firefox Reality je k dispozici pro Viveport, Oculus a Daydream.

Ladislav Hagara | Komentářů: 0
dnes 12:00 | Komunita

V srpnu loňského roku společnost Oracle oznámila, že Java EE (Enterprise Edition) bude uvolněna jako open source. O měsíc později bylo rozhodnuto, že tato open source Java EE bude přejmenována a předána Eclipse Foundation. Nové jméno bylo oznámeno v únoru letošního roku. Z Java EE se stala Jakarta EE. Eclipse Foundation včera oznámila dosažení dalšího milníku. Zdrojové kódy aplikačního serveru GlassFish jsou již k dispozici v git repozitářích Eclipse Foundation (GitHub).

Ladislav Hagara | Komentářů: 0
včera 23:55 | Komunita

LTS (Long Term Support) podpora Ubuntu 12.04 LTS (Precise Pangolin) skončila po 5 letech od jeho vydání, tj. v dubnu 2017. V březnu 2017 ale Canonical představil placenou ESM (Extended Security Maintenance) podporu, díky které je Ubuntu 12.04 podporováno do dubna 2020. Dnes Canonical potvrdil ESM podporu také pro Ubuntu 14.04 LTS (Trusty Tahr), jehož LTS podpora skončí v dubnu 2019.

Ladislav Hagara | Komentářů: 0
včera 15:00 | Nová verze

Byla vydána verze 3.0.0 frameworku pro vývoj multiplatformních desktopových aplikací pomocí HTML, CSS a JavaScriptu Electron (YouTube, GitHub). Electron byl původně vyvíjen pro editor Atom pod názvem Atom Shell. Dnes je na Electronu postavena celá řada dalších aplikací.

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

Po půl roce vývoje od vydání verze 6.0.0 byla vydána verze 7.0.0 překladačové infrastruktury LLVM (Wikipedie). Přehled novinek v poznámkách k vydání: LLVM, Clang, clang-tools-extra a LLD.

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

Byla vydána verze 3.0.0 knihovny pro vykreslování grafů v programovacím jazyce Python Matplotlib (Wikipedie, GitHub). Přehled novinek a galerie grafů na stránkách projektu. Zrušena byla podpora Pythonu 2.

Ladislav Hagara | Komentářů: 0
včera 00:22 | Komunita

V Norimberku probíhá do pátku ownCloud conference 2018, tj. konference vývojářů a uživatelů open source systému ownCloud (Wikipedie) umožňujícího provoz vlastního cloudového úložiště. Přednášky lze sledovat online. Videozáznamy jsou k dispozici na YouTube. Při této příležitosti byl vydán ownCloud Server 10.0.10. Z novinek lze zdůraznit podporu PHP 7.2. Vydán byl také ownCloud Desktop Client 2.5.0. Vyzkoušet lze online demo ownCloudu.

Ladislav Hagara | Komentářů: 1
včera 00:11 | Pozvánky

Zářijový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 20. 9. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma IoT, CNC, svobodný software, hardware a další hračky.

xkucf03 | Komentářů: 0
18.9. 16:11 | Komunita

Vývojáři relačního databázového systému PostgreSQL oznámili, že schválili svůj Code of Conduct (CoC) aneb kodex chování vývojářů PostgreSQL.

Ladislav Hagara | Komentářů: 30
18.9. 14:44 | Nová verze

Byla vydána verze 1.0 poštovního serveru Courier (Wikipedie). Aktualizovány byly také související balíčky jako Courier authentication library, Courier-IMAP, SqWebMail, maildrop nebo Cone.

Ladislav Hagara | Komentářů: 1
Na optické médium (CD, DVD, BD aj.) jsem naposledy vypaloval(a) data před méně než
 (13%)
 (15%)
 (20%)
 (23%)
 (25%)
 (4%)
 (1%)
Celkem 372 hlasů
 Komentářů: 33, poslední 16.9. 11:55
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: 584×
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.