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 06:00 | Zajímavý software

OMG! Ubuntu! představuje emulátor terminálu Hyper (GitHub) postavený na webových technologiích (HTML, CSS a JavaScript). V diskusi k článku je zmíněn podobný emulátor terminálu Black Screen. Hyper i Black Screen používají framework Electron, stejně jako editor Atom nebo vývojové prostředí Visual Studio Code.

Ladislav Hagara | Komentářů: 13
dnes 06:00 | Zajímavý článek

I letos vychází řada ajťáckých adventních kalendářů. QEMU Advent Calendar 2016 přináší každý den nový obraz disku pro QEMU. Programátoři se mohou potrápit při řešení úloh z kalendáře Advent of Code 2016. Kalendáře Perl Advent Calendar 2016 a Perl 6 Advent Calendar přinášejí každý den zajímavé informace o programovacím jazyce Perl. Stranou nezůstává ani programovací jazyk Go.

Ladislav Hagara | Komentářů: 4
3.12. 16:24 | Nová verze

Byla vydána Mageia 5.1. Jedná se o první opravné vydání verze 5, jež vyšla v červnu loňského roku (zprávička). Uživatelům verze 5 nepřináší opravné vydání nic nového, samozřejmě pokud pravidelně aktualizují. Vydání obsahuje všechny aktualizace za posledního téměř půldruhého roku. Mageia 5.1 obsahuje LibreOffice 4.4.7, Linux 4.4.32, KDE4 4.14.5 nebo GNOME 3.14.3.

Ladislav Hagara | Komentářů: 11
3.12. 13:42 | Pozvánky

V Praze probíhá konference Internet a Technologie 16.2, volné pokračování jarní konference sdružení CZ.NIC. Konferenci lze sledovat online na YouTube. K dispozici je také archiv předchozích konferencí.

Ladislav Hagara | Komentářů: 0
2.12. 22:44 | Komunita

Joinup informuje, že Mnichov používá open source groupware Kolab. V srpnu byl dokončen dvouletý přechod na toto řešení. V provozu je asi 60 000 poštovních schránek. Nejenom Kolabu se věnoval Georg Greve ve své přednášce Open Source: the future for the European institutions (SlideShare) na konferenci DIGITEC 2016, jež proběhla v úterý 29. listopadu v Bruselu. Videozáznam přednášek z hlavního sálu je ke zhlédnutí na Livestreamu.

Ladislav Hagara | Komentářů: 25
2.12. 15:30 | Zajímavý projekt

Společnost Jolla oznámila v příspěvku Case study: Sailfish Watch na svém blogu, že naportovala Sailfish OS na chytré hodinky. Využila a inspirovala se otevřeným operačním systémem pro chytré hodinky AsteroidOS. Použita je knihovna libhybris. Ukázka ovládání hodinek na YouTube.

Ladislav Hagara | Komentářů: 10
2.12. 14:15 | Nová verze

Byla vydána verze 7.1.0 skriptovacího jazyka PHP používaného zejména k vývoji dynamických webových stránek. Jedná se o první stabilní verzi nejnovější větvě 7.1. Přehled novinek v dokumentaci. Podrobnosti v ChangeLogu. K dispozici je také příručka pro přechod z PHP 7.0.x na PHP 7.1.x.

Ladislav Hagara | Komentářů: 4
2.12. 12:55 | Nová verze

Google Chrome 55 byl prohlášen za stabilní. Nejnovější stabilní verze 55.0.2883.75 tohoto webového prohlížeče přináší řadu oprav a vylepšení (YouTube). Opraveno bylo také 36 bezpečnostních chyb. Mariusz Mlynski si například vydělal 22 500 dolarů za 3 nahlášené chyby (Universal XSS in Blink).

Ladislav Hagara | Komentářů: 4
2.12. 11:55 | Pozvánky

Máte rádi svobodný software a hardware nebo se o nich chcete něco dozvědět? Přijďte na 135. sraz spolku OpenAlt, který se bude konat ve čtvrtek 8. prosince od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Sraz bude tentokrát tématický. Bude retro! K vidění budou přístroje jako Psion 5mx nebo Palm Z22. Ze svobodného hardwaru pak Openmoko nebo čtečka WikiReader. Přijďte se i vy pochlubit svými legendami, nebo alespoň na pivo. Moderní hardware má vstup samozřejmě také povolen.

xkucf03 | Komentářů: 1
2.12. 00:10 | Nová verze

Byla vydána verze 3.2 svobodného systému pro detekci a prevenci průniků a monitorování bezpečnosti počítačových sítí Suricata. Z novinek lze zmínit například podporu protokolů DNP3 a CIP/ENIP, vylepšenou podporu TLS a samozřejmě také aktualizovanou dokumentaci.

Ladislav Hagara | Komentářů: 0
Kolik máte dat ve svém domovském adresáři na svém primárním osobním počítači?
 (32%)
 (24%)
 (29%)
 (7%)
 (5%)
 (3%)
Celkem 773 hlasů
 Komentářů: 50, poslední 29.11. 15:50
Rozcestník
Reklama

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: 570×
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.