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í
×
    včera 04:00 | Nová verze

    raylib (Wikipedie), tj. multiplatformní open-source knihovna pro vývoj grafických aplikací a her, byla vydána ve verzi 6.0.

    Ladislav Hagara | Komentářů: 0
    24.4. 18:33 | IT novinky

    Nové verze AI modelů. Společnost OpenAI představila GPT‑5.5. Společnost DeepSeek představila DeepSeek V4.

    Ladislav Hagara | Komentářů: 0
    24.4. 15:33 | Zajímavý článek

    Nová čísla časopisů od nakladatelství Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 164 (pdf) a Hello World 29 (pdf).

    Ladislav Hagara | Komentářů: 0
    24.4. 04:44 | Komunita

    Bylo oznámeno, že webový prohlížeč Opera GX zaměřený na hráče počítačových her je už také na Flathubu and Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    23.4. 23:11 | IT novinky

    Akcionáři americké mediální společnosti Warner Bros. Discovery dnes schválili převzetí firmy konkurentem Paramount Skydance za zhruba 110 miliard dolarů (téměř 2,3 bilionu Kč). Firmy se na spojení dohodly v únoru. O část společnosti Warner Bros. Discovery dříve usilovala rovněž streamovací platforma Netflix, se svou nabídkou však neuspěla. Transakci ještě budou schvalovat regulační orgány, a to nejen ve Spojených státech, ale také

    … více »
    Ladislav Hagara | Komentářů: 0
    23.4. 22:33 | Nová verze

    Canonical vydal (email, blog, YouTube) Ubuntu 26.04 LTS Resolute Raccoon. Přehled novinek v poznámkách k vydání. Vydány byly také oficiální deriváty Edubuntu, Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu Studio, Ubuntu Unity a Xubuntu. Jedná se o 11. vydání s dlouhodobou podporou (LTS).

    Ladislav Hagara | Komentářů: 2
    23.4. 11:55 | Nová verze

    V programovacím jazyce Go naprogramovaná webová aplikace pro spolupráci na zdrojových kódech pomocí gitu Gitea (Wikipedie) byla vydána v nové verzi 1.26.0. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    23.4. 04:44 | Pozvánky

    Ve středu 29. dubna 2026 se v pražské kanceláři SUSE v Karlíně uskuteční 7. Mobile Linux Hackday, komunitní setkání zaměřené na Linux na mobilních zařízeních, kernelový vývoj i uživatelský prostor. Akce proběhne od 10:00 do večerních hodin. Hackday je určen všem zájemcům o praktickou práci s Linuxem na telefonech. Zaměří se na vývoj aplikací v userspace, například bankovní aplikace, zpracování obrazu z kamery nebo práci s NFC, i na úpravy

    … více »
    lkocman | Komentářů: 1
    22.4. 21:55 | Nová verze

    LilyPond (Wikipedie) , tj. multiplatformní svobodný software určený pro sazbu notových zápisů, byl vydán ve verzi 2.26.0. Přehled novinek v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    22.4. 20:33 | Nová verze

    Byla vydána nová verze 11.0.0 otevřeného emulátoru procesorů a virtualizačního nástroje QEMU (Wikipedie). Přispělo 237 vývojářů. Provedeno bylo více než 2 500 commitů. Přehled úprav a nových vlastností v seznamu změn.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (8%)
     (2%)
     (13%)
     (31%)
     (3%)
     (6%)
     (2%)
     (15%)
     (25%)
    Celkem 1416 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: Ovládání GPIO raspberry 3 B+ v Pythonu

    11.11.2021 23:11 Jan
    Ovládání GPIO raspberry 3 B+ v Pythonu
    Přečteno: 741×
    Zdravím, mám takový problém, řeším ovládání běhu programu pomocí vstupů GPIO. Pokud napíšu program takto:
    import RPi.GPIO as GPIO
    
    pin_start = 9
    pin_skok = 7
    pin_beh = 8
    
    def prg_start(pin_start):
        print("prg_start")
        
    def prg_skok(pin_skok):
        print("prg_skok")
        
    def prg_beh(pin_beh):
        print("prg_beh")
        
    GPIO.setmode(GPIO.BCM)
    GPIO.setup(pin_start, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
    GPIO.setup(pin_skok, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
    GPIO.setup(pin_beh, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
    
    GPIO.add_event_detect(pin_start, GPIO.RISING, callback=prg_start, bouncetime=100)
    GPIO.add_event_detect(pin_skok, GPIO.RISING, callback=prg_skok, bouncetime=100)
    GPIO.add_event_detect(pin_beh, GPIO.RISING, callback=prg_beh, bouncetime=100)
    
    Vždy po zmáčknutí příslušného tlačítka se vyvolá program a vše jede dobře. všechna tlačítka jsou stále aktivní. Během běhu programu potřebuji zapínat a vypínat detekci přerušení.

    Představa je taková, že v prg_start zapnu detekci na pin_skok a vypnu detekci na pin_start.

    .
    .
    def prg_start(pin_start):
        GPIO.add_event_detect(pin_skok, GPIO.RISING, callback=prg_skok, bouncetime=100)
        GPIO.remove_event_detect(pin_start) 
        print("prg_start")
        
    def prg_skok(pin_skok):
        print("prg_skok")
        
    def prg_beh(pin_beh):
        print("prg_beh")
        
    
    GPIO.setmode(GPIO.BCM)
    GPIO.setup(pin_start, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
    GPIO.setup(pin_skok, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
    GPIO.setup(pin_beh, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
    
    
    
    GPIO.add_event_detect(pin_skok, GPIO.RISING, callback=prg_skok, bouncetime=100)
    GPIO.add_event_detect(pin_beh, GPIO.RISING, callback=prg_beh, bouncetime=100)
    
    while True:
        prg_start(pin_start)
    
    Bohužel toto mi vyhazuje chybu :

    GPIO.add_event_detect(pin_skok, GPIO.RISING, callback=prg_skok, bouncetime=100) RuntimeError: Conflicting edge detection already enabled for this GPIO channel

    Nemáte prosím nějaký nápad?

    Řešení dotazu:


    Odpovědi

    Řešení 1× (Вherzet)
    11.11.2021 23:32 z_sk | skóre: 34 | blog: analyzy
    Rozbalit Rozbalit vše Re: Ovládání GPIO raspberry 3 B+ v Pythonu
    Myslím si: To pridávanie eventov (hardverovo rozumej prerušení) môže byť, kvôli low level urovne, na jeden port nastavene iba jedno.
    debian.plus@protonmail.com
    MakeIranBombedAgain❗ avatar 12.11.2021 01:12 MakeIranBombedAgain❗ | skóre: 42 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: Ovládání GPIO raspberry 3 B+ v Pythonu

    myslimže tam opakovaně v tom nekonečným loopu přidělaváš na pin 'pin_skok'  ten event detect :O :O na jednom pinu asi jako muže bejt dycky současně jenom jeden. zkus předtim udělat 'remove_event_detect' na tom pinu 'pin_skok' :O :O

    20.11.2021 21:08 Jan
    Rozbalit Rozbalit vše Re: Ovládání GPIO raspberry 3 B+ v Pythonu
    Děkuji mnohokrát funguje.
    MakeIranBombedAgain❗ avatar 22.11.2021 19:24 MakeIranBombedAgain❗ | skóre: 42 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: Ovládání GPIO raspberry 3 B+ v Pythonu

    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.