| Deutsch English Français Italiano |
|
<lom0j3FjeavU1@mid.individual.net> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!weretis.net!feeder8.news.weretis.net!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: Samson <jansencomplex@gmail.com>
Newsgroups: comp.sys.raspberry-pi
Subject: Re: Calculate frequencey and pulse width?
Date: Sat, 2 Nov 2024 07:53:23 +0100
Lines: 51
Message-ID: <lom0j3FjeavU1@mid.individual.net>
References: <loja6sF6unbU1@mid.individual.net> <vg3fm7$3d77d$8@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Trace: individual.net y7yIY7MtQqJOE/Z7L2uyjQGMj8hE3Mo3uroL5lfzg4jCRqWD74
Cancel-Lock: sha1:faHVOELDSuoRXnaXkwxfdboCfXo= sha256:y9NZ5vYnUtPxEzEfXoCxyG69ceKuKMOoSOsnb2Q6ENg=
User-Agent: Mozilla Thunderbird
Content-Language: da
In-Reply-To: <vg3fm7$3d77d$8@dont-email.me>
Bytes: 2201
Den 01-11-2024 kl. 22:03 skrev Lawrence D'Oliveiro:
> On Fri, 1 Nov 2024 07:19:07 +0100, Samson wrote:
>
>> [how] do i calculate the frquency and pulse width?
>
> Let’s see, cycle duration = 1 ÷ frequency, so pulse width must be duty
> cycle × cycle duration.
>
> What do I win?
Sorry here are more info. The pico limits PWM 8 Hz and up pulse width 1 - 100 % .
I have this program and i works i understand how it works.
my problem was understanding >> dup[delay] ?
=====
# Example using PIO to blink an LED and raise an IRQ at 1Hz.
import time
from machine import Pin
import rp2
@rp2.asm_pio(set_init=rp2.PIO.OUT_LOW)
def blink_1hz():
# Cycles: 1 + 1 + 6 + 32 * (30 + 1) = 1000
irq(rel(0))
set(pins, 1)
set(x, 31) [5]
label("delay_high")
nop() [29]
jmp(x_dec, "delay_high")
# Cycles: 1 + 7 + 32 * (30 + 1) = 1000
set(pins, 0)
set(x, 31) [6]
label("delay_low")
nop() [29]
jmp(x_dec, "delay_low")
# Create the StateMachine with the blink_1hz program, outputting on Pin(25).
sm = rp2.StateMachine(0, blink_1hz, freq=2000, set_base=Pin(25))
# Set the IRQ handler to print the millisecond timestamp.
sm.irq(lambda p: print(time.ticks_ms()))
# Start the StateMachine.
sm.active(1)