Hirdetés

Új hozzászólás Aktív témák

  • laczo50

    újonc

    Sziasztok!
    Nagyon kezdő vagyok RPi-ben (is). Írtam pythonban egy scriptet, amelyik a GPIO-kat figyeli és állapotuktól függően háttérszínű vagy piros pöttyöket rajzol a Canvasra. A ciklus after methoddal 100msec. Ha elindítom, megy, de 1 nap alatt összeszed annyi késést, hogy a GPIO változás után 10 sec! múlva rajzol.
    Mi ennek az oka? A program struktúrája így néz ki:

    #!/usr/bin/env python3
    from tkinter import*
    import RPi.GPIO as GPIO
    import sys
    abl=Tk()
    abl.geometry(("%dx%d+0+0") % (...,...))
    class Fal
    def __init__(self,master):
    self.master =abl
    self.master.bind('<Escape>', self.end)
    self.canvas=Canvas(abl, ...,..., bg='ivory')
    self.canvas.place(x=0,y=0)
    def draw(self):
    GPIO.setmode(....)
    GPIO.setup(..,GPIO.IN)
    .
    .
    if GPIO.input(..):
    szin1='ivory'
    else:
    szin1='red'
    .
    .
    GPIO.cleanup(..)
    .
    self.canvas.create_oval(..,..,..,..,..,fill=szin1
    .
    self.canvas.after(100, self.draw)

    def end(self, event):
    self.master.destroy()
    fal = Fal(abl)
    fal.draw()
    abl.mainloop()

Új hozzászólás Aktív témák