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 01:33 | Nová verze

Společnost Purism informuje, že vývojové desky Librem 5 jsou již odesílány přispěvatelům. Telefony Librem 5 s PureOS respektující bezpečnost, svobodu a soukromí uživatelů by měly být odesílány v dubnu. Aktuálně je lze předobjednat za 599 dolarů. Po 7. lednu za 699 dolarů.

Ladislav Hagara | Komentářů: 0
dnes 00:11 | Nová verze

Byla vydána nová major verze 6.0 multiplatformního virtualizačního nástroje Oracle VM VirtualBox. Přehled novinek v Changelogu. Nově lze například virtuální počítač exportovat do infrastruktury Oracle Cloud.

Ladislav Hagara | Komentářů: 0
včera 17:11 | IT novinky

Společnost Wave Computing představila iniciativu MIPS Open. Architektura MIPS bude k dispozici jako open source.

Ladislav Hagara | Komentářů: 0
včera 16:11 | Nová verze

Pro vývojáře v programovacím jazyce Python: Krátce po vydání multiplatformního frameworku Qt ve verzi 5.12 bylo vydáno také Qt for Python 5.12. Knihovna pro vědecké výpočty v Pythonu SciPy (Wikipedie) byla po šesti měsících vývoje vydána v nové verzi 1.2.0.

Ladislav Hagara | Komentářů: 0
17.12. 22:33 | Zajímavý projekt

Na Humble Bundle byla spuštěna akce Humble Book Bundle: Hacking for the Holidays by No Starch Press. Za 1 dolar a více lze koupit 5 elektronických knih, za 8 dolarů a více lze koupit 10 elektronických knih a za 15 dolarů a více lze koupit 15 elektronických knih věnovaných počítačové bezpečnosti, penetračnímu testování, forenzní analýze nebo kryptografii od nakladatelství No Starch Press. Nákupem lze podpořit organizaci Electronic Frontier Foundation (EFF).

Ladislav Hagara | Komentářů: 0
17.12. 20:11 | Nová verze

Po devíti měsících od vydání verze 5.4 byla vydána verze 5.5 svobodného multiplatformního softwaru pro konverzi a zpracování digitálních fotografií primárně ve formátů RAW RawTherapee (Wikipedie). Nová verze RawTherapee je k dispozici také jako balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo ke spuštění a spustit.

Ladislav Hagara | Komentářů: 0
17.12. 15:44 | Upozornění

Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) vydal varování (pdf) před používáním softwaru i hardwaru společností Huawei Technologies Co., Ltd., a ZTE Corporation. Používání těchto prostředků představuje bezpečnostní hrozbu.

Ladislav Hagara | Komentářů: 51
17.12. 13:33 | Pozvánky

Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 159. brněnský sraz, který proběhne v pátek 21. prosince od 18:00 v restauraci Na blbým místě na adrese Pellicova 5b.

Ladislav Hagara | Komentářů: 1
17.12. 12:55 | Bezpečnostní upozornění

V relačním databázovém systému SQLite (Wikipedie) byla nalezena bezpečnostní chyba pojmenovaná Magellan. Chyba se týká také webových prohlížečů postavených na Chromiu podporujících WebSQL API (POC). Bezpečnostní chyba byla opravena v SQLite 3.26.0 a v Chromiu 71.0.3578.80.

Ladislav Hagara | Komentářů: 1
17.12. 12:11 | Nová verze

WinBtrfs, open source systémový ovladač pro systémy Microsoft Windows umožňující přístup k linuxovému souborovému systému Btrfs, byl vydán ve verzi 1.1. Přináší podporu komprese zstd (Zstandard). WinBtrfs je používán například v operačním systému ReactOS.

Ladislav Hagara | Komentářů: 0
Chystáte se přejít na Wayland na „desktopu“?
 (25%)
 (9%)
 (11%)
 (31%)
 (25%)
Celkem 151 hlasů
 Komentářů: 19, poslední 14.12. 18:37
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: 595×
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.