from machine import Pin, PWM, UART
import time

print("Hello usb1")

# UART0 konfigurálása (TX: GP0, RX: GP1)
uart0 = UART(0, baudrate=115200, tx=Pin(0), rx=Pin(1))
print("UART0 initialized")

# UART1 konfigurálása (TX: GP4, RX: GP5)
uart1 = UART(1, baudrate=115200, tx=Pin(4), rx=Pin(5))
print("UART1 initialized")

# Adat küldése UART0-n keresztül
uart0.write('Hello from UART0\n')
print("Data sent through UART0")

# Adat küldése UART1-n keresztül
uart1.write('Hello from UART1\n')
print("Data sent through UART1")

print("Hello usb2")

# 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

print("PWM and GPIO setup")

# 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(100)  # 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)

print("PWM and GPIO initialized")

# 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

print("Loop completed")

# 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)

# Adat küldése UART0-n keresztül
uart0.write('Hello from UART0\n')
print("Data sent through UART0 again")

# Adat olvasása UART1-ről
if uart1.any():
    data = uart1.read()
    print('Received from UART1:', data)

print("Hello usb3")
BOOTSELLED1239USBRaspberryPiPico©2020RP2-8020/21P64M15.00TTT
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