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)
pico:GP0
pico:GP1
pico:GND.1
pico:GP2
pico:GP3
pico:GP4
pico:GP5
pico:GND.2
pico:GP6
pico:GP7
pico:GP8
pico:GP9
pico:GND.3
pico:GP10
pico:GP11
pico:GP12
pico:GP13
pico:GND.4
pico:GP14
pico:GP15
pico:GP16
pico:GP17
pico:GND.5
pico:GP18
pico:GP19
pico:GP20
pico:GP21
pico:GND.6
pico:GP22
pico:RUN
pico:GP26
pico:GP27
pico:GND.7
pico:GP28
pico:ADC_VREF
pico:3V3
pico:3V3_EN
pico:GND.8
pico:VSYS
pico:VBUS