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

    Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.

    Ladislav Hagara | Komentářů: 0
    dnes 13:55 | Nová verze

    Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.

    Ladislav Hagara | Komentářů: 0
    dnes 12:44 | Nová verze

    Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.

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

    Byla vydána nová verze 5.4.0 programu na úpravu digitálních fotografií darktable (Wikipedie). Z novinek lze vypíchnout vylepšenou podporu Waylandu. Nejnovější darktable by měl na Waylandu fungovat stejně dobře jako na X11.

    Ladislav Hagara | Komentářů: 0
    21.12. 05:00 | Nová verze

    Byla vydána beta verze Linux Mintu 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.

    Ladislav Hagara | Komentářů: 2
    21.12. 01:55 | Nová verze

    GNU Project Debugger aneb GDB byl vydán ve verzi 17.1. Podrobný přehled novinek v souboru NEWS.

    Ladislav Hagara | Komentářů: 0
    19.12. 17:22 | IT novinky

    Josef Průša oznámil zveřejnění kompletních CAD souborů rámů tiskáren Prusa CORE One a CORE One L. Nejsou vydány pod obecnou veřejnou licenci GNU ani Creative Commons ale pod novou licencí OCL neboli Open Community License. Ta nepovoluje prodávat kompletní tiskárny či remixy založené na těchto zdrojích.

    Ladislav Hagara | Komentářů: 14
    19.12. 17:00 | Komunita

    Nový CEO Mozilla Corporation Anthony Enzor-DeMeo tento týden prohlásil, že by se Firefox měl vyvinout v moderní AI prohlížeč. Po bouřlivých diskusích na redditu ujistil, že v nastavení Firefoxu bude existovat volba pro zakázání všech AI funkcí.

    Ladislav Hagara | Komentářů: 1
    19.12. 10:11 | IT novinky

    V pořadí šestou knihou autora Martina Malého, která vychází v Edici CZ.NIC, správce české národní domény, je titul Kity, bity, neurony. Kniha s podtitulem Moderní technologie pro hobby elektroniku přináší ucelený pohled na svět současných technologií a jejich praktické využití v domácích elektronických projektech. Tento knižní průvodce je ideální pro každého, kdo se chce podívat na současné trendy v oblasti hobby elektroniky, od

    … více »
    Ladislav Hagara | Komentářů: 10
    19.12. 03:11 | Komunita

    Linux Foundation zveřejnila Výroční zprávu za rok 2025 (pdf). Příjmy Linux Foundation byly 311 miliónů dolarů. Výdaje 285 miliónů dolarů. Na podporu linuxového jádra (Linux Kernel Project) šlo 8,4 miliónu dolarů. Linux Foundation podporuje téměř 1 500 open source projektů.

    Ladislav Hagara | Komentářů: 0
    Kdo vám letos nadělí dárek?
     (27%)
     (2%)
     (11%)
     (2%)
     (2%)
     (3%)
     (13%)
     (24%)
     (16%)
    Celkem 62 hlasů
     Komentářů: 16, poslední včera 23:13
    Rozcestník

    Dotaz: Chyba v programu v C (avr)

    4.5.2010 16:37 mega8
    Chyba v programu v C (avr)
    Přečteno: 328×
    Zdravím. Snažil jsem se naprogramovat do procesoru mega8 procedury na blikání led diod, ale nějak si to občas dělá co chce. Konkrétně třeba bliknou led diody, které by v tu chvíli vůbec neměly.
    
    uint8_t leds_array[LEDS];
    uint8_t leds_array_pointer = 0;
    
    void leds_add(uint8_t lid) {
            leds_array[leds_array_pointer] = lid;
            if( leds_array_pointer < (LEDS-1) ) leds_array_pointer ++;
    }
    
    void leds_clear() {
            leds_array_pointer = 0;
    }
    
    void leds_blink(uint8_t interval) {
            bool leds_status_before[LEDS];
            if(leds_array_pointer > 0) {
                    for(int i=0; i<=leds_array_pointer; i++) {
                            if(bit_is_set(LED_PIN, leds_array[i]))
                                    leds_status_before[i] = true;
                            else
                                    leds_status_before[i] = false;
                            bitSet (LED_PORT, leds_array[i]);
                    }
                    m_delay_ms(interval);
                    for(int i=0; i<=leds_array_pointer; i++) {
                            bitClear (LED_PORT, leds_array[i]);
                    }
                    m_delay_ms(interval);
                    for(int i=0; i<=leds_array_pointer; i++) {
                            if(leds_status_before[i]) bitSet (LED_PORT, leds_array[i]);
                    }
            leds_clear();
            }
    }
    
    
    v programu potom volám:
    
    if(podmínka1) leds_add(LED_1);
    if(podmínka2) leds_add(LED_2);
    // teoreticky mohou bliknout jen led1 a led2, ale občas blikne i led3
    leds_blink(LED_BLINK_INTERVAL);
    
    
    Kde dělám chybu?

    Řešení dotazu:


    Odpovědi

    4.5.2010 17:28 Sten
    Rozbalit Rozbalit vše Re: Chyba v programu v C (avr)
    Klasická chyba off-by-one.

    for(int i=0; i<=leds_array_pointer; i++) {

    má být

    for(int i=0; i<leds_array_pointer; i++) {

    Po nastavení dvou LEDek je leds_array_pointer == 2, ale ten první (původní) cyklus proběhne třikrát
    4.5.2010 18:08 mega8
    Rozbalit Rozbalit vše Re: Chyba v programu v C (avr)
    díky za pomoc
    5.5.2010 15:44 Farin
    Rozbalit Rozbalit vše Re: Chyba v programu v C (avr)
    leds_array_pointer - dost zavadejici nazev promenne; vystiznejsi je asi leds_array_index || leds_array_ix

    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.