-
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
- Zbieranie danych przez www
- reverse engineering i dodawanie elementów do istniejących zamkniętych produktów- legalne?
- Problem z odczytem karty CF
- 74F vs 74HCT
- Newag ciąg dalszy
- Digikey, SN74CBT3253CD, FST3253, ktoś ma?
- Szukam: czujnik ruchu z możliwością zaączenia na stałe
- kabelek - kynar ?
- Podnieść masę o 0.6V
- Moduł BT BLE 5.0
- Pomiar amplitudy w zegarku mechanicznym
- ale zawziętość i cierpliwość
- Chiński elektrolizer tester wody
- Dzisiaj Bentlejem czyli przybieżeli sześciu Króli do Rysia na kasie
- ciekawy układ magnetofonu
Najnowsze wątki
- 2025-01-04 Zbieranie danych przez www
- 2025-01-04 reverse engineering i dodawanie elementów do istniejących zamkniętych produktów- legalne?
- 2025-01-04 w Nowym Roku 2025r
- 2025-01-04 Warszawa => Specjalista ds. IT - II Linia Wsparcia <=
- 2025-01-04 Warszawa => Java Developer <=
- 2025-01-04 Warszawa => Spedytor Międzynarodowy <=
- 2025-01-04 Warszawa => System Architect (Java background) <=
- 2025-01-04 Wrocław => Application Security Engineer <=
- 2025-01-04 Chrzanów => Specjalista ds. public relations <=
- 2025-01-04 Katowice => Key Account Manager (ERP) <=
- 2025-01-03 Problem z odczytem karty CF
- 2025-01-03 Jazda z Warszawy do Krakowa teslą
- 2025-01-03 Wrocław => Konsultant Wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-01-03 Warszawa => International Freight Forwarder <=
- 2025-01-03 Mińsk Mazowiecki => Area Sales Manager OZE <=