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 00:44 | Zajímavý článek

    Máirín Duffy a Brian Smith v článku pro Fedora Magazine ukazují použití LLM pro diagnostiku systému (Fedora Linuxu) přes Model Context Protocol od firmy Anthropic. I ukázkové výstupy v samotném článku obsahují AI vygenerované nesmysly, např. doporučení přeinstalovat balíček pomocí správce balíčků APT z Debianu místo DNF nativního na Fedoře.

    |🇵🇸 | Komentářů: 2
    včera 04:55 | Zajímavý software

    Projekt D7VK dospěl do verze 1.0. Jedná se o fork DXVK implementující překlad volání Direct3D 7 na Vulkan. DXVK zvládá Direct3D 8, 9, 10 a 11.

    Ladislav Hagara | Komentářů: 0
    12.12. 16:00 | Nová verze

    Byla vydána nová verze 2025.4 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem nových nástrojů v oficiálním oznámení na blogu.

    Ladislav Hagara | Komentářů: 2
    12.12. 12:44 | IT novinky

    Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) zveřejnil Národní politiku koordinovaného zveřejňování zranitelností (pdf), jejímž cílem je nejen zvyšování bezpečnosti produktů informačních a komunikačních technologií (ICT), ale také ochrana objevitelů zranitelností před negativními právními dopady. Součástí je rovněž vytvoření „koordinátora pro účely CVD“, jímž je podle nového zákona o kybernetické … více »

    Ladislav Hagara | Komentářů: 11
    12.12. 04:33 | Nová verze

    Vývojáři KDE oznámili vydání balíku aplikací KDE Gear 25.12. Přehled novinek i s náhledy a videi v oficiálním oznámení.

    Ladislav Hagara | Komentářů: 0
    12.12. 03:55 | Nová verze

    Společnost System76 vydala Pop!_OS 24.04 LTS s desktopovým prostředím COSMIC. Videoukázky na YouTube.

    Ladislav Hagara | Komentářů: 0
    12.12. 03:11 | Nová verze

    Byla vydána verze 1.92.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    12.12. 01:33 | Komunita

    Free Software Foundation zveřejnila ocenění Free Software Awards za rok 2024. Oceněni byli Andy Wingo, jeden ze správců GNU Guile, Alx Sa za příspěvky do Gimpu a Govdirectory jako společensky prospěšný projekt.

    |🇵🇸 | Komentářů: 5
    11.12. 18:55 | Nová verze

    Bylo vydáno Eclipse IDE 2025-12 aneb Eclipse 4.38. Představení novinek tohoto integrovaného vývojového prostředí také na YouTube.

    Ladislav Hagara | Komentářů: 0
    11.12. 17:44 | Nová verze

    U příležitosti oslav osmi let prací na debianím balíčku vyšlo GPXSee 15.6. Nová verze přináší především podporu pro geotagované MP4 soubory, včetně GoPro videí. Kdo nechce čekat, až nová verze dorazí do jeho distribuce, nalezne zdrojové kódy na GitHubu.

    Martin Tůma | Komentářů: 16
    Jaké řešení používáte k vývoji / práci?
     (34%)
     (48%)
     (19%)
     (17%)
     (23%)
     (15%)
     (24%)
     (15%)
     (17%)
    Celkem 460 hlasů
     Komentářů: 19, poslední 11.12. 20:04
    Rozcestník

    Dotaz: Chyba v programu v C (avr)

    4.5.2010 16:37 mega8
    Chyba v programu v C (avr)
    Přečteno: 327×
    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.