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 12:29 | Nová verze

    ClamAV (Wikipedie), tj. multiplatformní antivirový engine s otevřeným zdrojovým kódem pro detekci trojských koní, virů, malwaru a dalších škodlivých hrozeb, byl vydán ve verzi 1.5.0.

    Ladislav Hagara | Komentářů: 0
    dnes 01:22 | Nová verze

    Byla vydána nová verze 1.12.0 dynamického programovacího jazyka Julia (Wikipedie) určeného zejména pro vědecké výpočty. Přehled novinek v příspěvku na blogu a v poznámkách k vydání. Aktualizována byla také dokumentace.

    Ladislav Hagara | Komentářů: 0
    včera 15:11 | Bezpečnostní upozornění

    V Redisu byla nalezena a v upstreamu již opravena kritická zranitelnost CVE-2025-49844 s CVSS 10.0 (RCE, vzdálené spouštění kódu).

    Ladislav Hagara | Komentářů: 4
    včera 14:00 | IT novinky

    Ministr a vicepremiér pro digitalizaci Marian Jurečka dnes oznámil, že přijme rezignaci ředitele Digitální a informační agentury Martina Mesršmída, a to k 23. říjnu 2025. Mesršmíd nabídl svou funkci během minulého víkendu, kdy se DIA potýkala s problémy eDokladů, které některým občanům znepříjemnily využití možnosti prokázat se digitální občankou u volebních komisí při volbách do Poslanecké sněmovny.

    Ladislav Hagara | Komentářů: 15
    včera 12:33 | Zajímavý software

    Společnost Meta představila OpenZL. Jedná se o open source framework pro kompresi dat s ohledem na jejich formát. Zdrojové kódy jsou k dispozici na GitHubu.

    Ladislav Hagara | Komentářů: 0
    včera 03:33 | IT novinky

    Google postupně zpřístupňuje českým uživatelům Režim AI (AI Mode), tj. nový režim vyhledávání založený na umělé inteligenci. Režim AI nabízí pokročilé uvažování, multimodalitu a možnost prozkoumat jakékoliv téma do hloubky pomocí dodatečných dotazů a užitečných odkazů na weby.

    Ladislav Hagara | Komentářů: 0
    7.10. 18:11 | Nová verze

    Programovací jazyk Python byl vydán v nové major verzi 3.14.0. Podrobný přehled novinek v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 2
    7.10. 16:33 | IT novinky

    Bylo oznámeno, že Qualcomm kupuje Arduino. Současně byla představena nová deska Arduino UNO Q se dvěma čipy: MPU Qualcomm Dragonwing QRB2210, na kterém může běžet Linux, a MCU STM32U585 a vývojové prostředí Arduino App Lab.

    Ladislav Hagara | Komentářů: 4
    7.10. 15:55 | Nová verze

    Multiplatformní open source voxelový herní engine Luanti byl vydán ve verzi 5.14.0. Podrobný přehled novinek v changelogu. Původně se jedná o Minecraftem inspirovaný Minetest v říjnu loňského roku přejmenovaný na Luanti.

    Ladislav Hagara | Komentářů: 0
    7.10. 13:22 | Nová verze

    Byla vydána nová stabilní verze 6.10 (YouTube) multiplatformního frameworku a GUI toolkitu Qt. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (38%)
     (46%)
     (15%)
     (17%)
     (21%)
     (15%)
     (17%)
     (15%)
     (15%)
    Celkem 199 hlasů
     Komentářů: 13, poslední včera 07:41
    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: 698×
    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
    Gréta avatar 12.11.2021 01:12 Gréta | skóre: 37 | 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.
    Gréta avatar 22.11.2021 19:24 Gréta | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: Ovládání GPIO raspberry 3 B+ v Pythonu

    supr :D ;D

    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.