-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.chmurka.net!.POSTED.abku249.neoplu
s.adsl.tpnet.pl!not-for-mail
From: "J.F" <j...@p...onet.pl>
Newsgroups: pl.misc.elektronika
Subject: Re: RP2040 PIO
Date: Tue, 21 Mar 2023 14:54:49 +0100
Organization: news.chmurka.net
Message-ID: <o...@4...net>
References: <6418ac94$0$19621$65785112@news.neostrada.pl>
NNTP-Posting-Host: abku249.neoplus.adsl.tpnet.pl
Mime-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
Injection-Info: news.chmurka.net; posting-account="jfoxwr";
posting-host="abku249.neoplus.adsl.tpnet.pl:83.7.188.249";
logging-data="5961"; mail-complaints-to="abuse-news.(at).chmurka.net"
User-Agent: 40tude_Dialog/2.0.15.1
Xref: news-archive.icm.edu.pl pl.misc.elektronika:779196
[ ukryj nagłówki ]On Mon, 20 Mar 2023 19:57:24 +0100, Mirek wrote:
> Potrzebuję zrobić enkoder kwadraturowy na Raspberry Pi Pico.
> Spróbowałem tego:
>
> https://github.com/jamon/pi-pico-pio-quadrature-enco
der/blob/main/python/quadrature.py
> i to działa, ale ma jedną wadę: zmienia stan tylko na podstawie
> opadającego zbocza jednej linii - to bez sensu, bo traci się
> czterokrotnie rozdzielczość.
> Próbowałem to:
>
> https://github.com/raspberrypi/pico-examples/blob/ma
ster/pio/quadrature_encoder/quadrature_encoder.pio
> przerobić na Pythona, ale nie działa - coś tam pojawiają się jakieś
> bzdury a później zamiera.
> Czy problem może być w tej dyrektywie .origin 0?
> Bo w Micropythonie nie ma możliwości takiej deklaracji albo o tym nie wiem.
>
> Oczywiście chcąc nie chcąc zacząłem rozgryzać jak to PIO działa -
> dlaczego w ogóle nazywają to maszyną stanów?
>
> Maszyna stanów to ja bym rozumiał jakiś rejestr do zapamiętania stanu i
> jeżeli maszyna jest w danym stanie to wykonuje jakiś tam kod, następnie
> sprawdza w kółko jakieś warunki, które powodują przejścia do innych
> stanów - przynajmniej ja to tak rozumiem i tak zawsze programowałem.
> Oczywiście taka sprzętowa maszyna powinna sprzętowo sprawdzać np. piny i
> zmieniać stan jaki się tam ustawi.
> Niestety w tym PIO czegoś takiego nie ma - sprawdza jedynie jeden pin
> blokujący warunek wait i instrukcja jmp, która jest jeszcze bardziej
> ograniczona, bo można jej przyporządkować tylko raz konkretny pin.
Ogolnie: taki enkoder najlepiej sie obsluguje automatem/maszyną
stanów. Tylko musi miec osobny zegar i odpowiednią szybkosc.
Wydaje sie, ze w procku z takim wspomagaczem PIO powinno sie dać to
zrobic, ale moze sa tam za duze ograniczenia/chcą zrobic oszczedniej.
Jesli jedno z wejsc musi byc "zegarem" do tego automatu, to sprawa sie
komplikuje.
Ten drugi program chyba realizuje pierwszą koncepcje, i jest tym,
czego szukasz, tylko faktycznie wymaga tego .origin
Nie wiem, czy w pythonie jest nad tym jakas kontrola.
A moze połączyc jakos pythona z C?
J.
Następne wpisy z tego wątku
Najnowsze wątki z tej grupy
- Lustra w maszynie ASML
- DC blocker i buczące toroidy
- Problemy TSMC cd
- Detektor
- Może tutaj się uda: [NTG] Elewacja / dziurawa Churka
- Falownik jednofazowy a żarówka
- Agregat i "legalność" instalacji
- Uziom
- (Ponownie) odkryto, że ładowanie pulsacyjne robi dobrze
- driver led ?
- Długość wtyku zasilającego ?5.5mm
- Szukam przetwornicy 55-40V>8-8.2V 3-4A
- Kindle - pierwsze wrażenia
- Transformator TS90/16, uzwojenia połączone szeregowo na stałe, z asymetrycznym odczepem, napięcia 16V i 39V a prostowanie pełnookresowe
- regulacja prądu ?
Najnowsze wątki
- 2024-04-28 wymiana przewodu od licznika do mieszkania
- 2024-04-28 Lustra w maszynie ASML
- 2024-04-28 Elektryk przytarł podłogę
- 2024-04-27 Nowy, "szybki "komputer AsRock nie posiada modułu TPM
- 2024-04-27 Nowy, "szybki "komputer AsRock nie posiada modułu TPM
- 2024-04-27 Warszawa => Inżynier DevOps (projekt JP) <=
- 2024-04-27 Warszawa => Senior Account Manager (on-site) <=
- 2024-04-27 Wrocław => Dyrektor Sprzedaży (branża usług/produktów IT) <=
- 2024-04-27 Warszawa => Sales Representative for Outsourcing Services <=
- 2024-04-27 Chrzanów => Administrator i wdrożeniowiec Lotus Notes/Domino <=
- 2024-04-27 Ja pierdolę...
- 2024-04-27 Ryby i kawitacja
- 2024-04-27 Zabrze => Junior HelpDesk <=
- 2024-04-27 Katowice => Administrator IT - Wirtualizacja i Konteneryzacja <=
- 2024-04-27 Bażanowice => Inżynier Industrializacji - Elektronik <=