from machine import Pin, PWM
import time
# Számláló változók
pulse_count = 0
pulse_count1 = 0
# Megszakítás kezelő függvények
def pulse_handler(pin):
global pulse_count
pulse_count += 1
def pulse_handler2(pin):
global pulse_count1
pulse_count1 += 1
# PWM létrehozása a 14-es lábon (válaszd ki a megfelelő GPIO lábat)
pwm_pin = Pin(14)
pwm = PWM(pwm_pin)
pwm.freq(1000) # 1 kHz frekvencia
pwm.duty_u16(32768) # 50%-os kitöltési tényező
# GPIO bemenet inicializálása a 15-ös és 16-os lábon
pulse_pin = Pin(15, Pin.IN, Pin.PULL_DOWN)
pulse_pin.irq(trigger=Pin.IRQ_RISING, handler=pulse_handler)
pulse_pin1 = Pin(16, Pin.IN, Pin.PULL_DOWN)
pulse_pin1.irq(trigger=Pin.IRQ_RISING, handler=pulse_handler2)
# Futás idejének beállítása (például 10 másodperc)
start_time = time.ticks_us()
print('Számolás kezdete')
# Futási ciklus
while pulse_count != 1000:
time.sleep_us(10) # Kis várakozási idő a CPU tehermentesítése érdekében
# Eltelt idő kiszámítása
elapsed_time = time.ticks_diff(time.ticks_us(), start_time)
print(f"megvan az 1000 {elapsed_time} us alatt")
# PWM jel leállítása
pwm.deinit()
# Megszakítások letiltása
pulse_pin.irq(handler=None)
pulse_pin1.irq(handler=None)
# Számláló értékének kiíratása
print("PWM impulzusok száma:", pulse_count)
print("Másodlagos impulzusok száma:", pulse_count1)