-
Data: 2023-03-21 14:54:49
Temat: Re: RP2040 PIO
Od: "J.F" <j...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie 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
- "Teleportacja" polskich statków na pd. Bałtyku - rosyjska zabawa w zakłócanie GPS, Galileo, Beidou i GLONASS
- W trakcie porwania prez. Maduro wojsko USONA użyło tajnej broni masowego rażenia: Discombobulator
- antena gsm - kabel - antena gsm
- PID - jeszcze raz
- Zlacze w mikrofonie z lat 80-tych
- Żywica żółknie od UV i wody :(
- Zawory termostatyczne
- Schemat automatyki
- Teoretyczne zagadnienie - ogrzewanie budynku
- Zagadka radiowa
- Prostownik
- Nowy akumulator Donut Lab
- Pilot do zamka/bramy
- Jaka myjka ultradźwiękowa?
- Retro organizer ale współcześnie
Najnowsze wątki
- 2026-01-29 KSeF - 13 wątpliwości
- 2026-01-29 A ja się pochwalę
- 2026-01-29 Warszawa => Mid/Senior IT Recruiter <=
- 2026-01-29 Warszawa => Senior Java Developer <=
- 2026-01-29 Warszawa => IT Recruiter <=
- 2026-01-28 Degradacja
- 2026-01-28 Wysoki Sąd poinstruował czego unikać wyzywając Owsiaka "Równiejszego"
- 2026-01-28 Białystok => Solution Architect (Workday) - Legal Systems <=
- 2026-01-28 Białystok => Preseles Inżynier (background baz danych) <=
- 2026-01-28 Wrocław => Konsultant wdrożeniowy ERP <=
- 2026-01-28 Łódź => Microsoft Engineer <=
- 2026-01-28 Białystok => Tester manualny <=
- 2026-01-27 Tradycja ciągania posłów po sądach za wystąpienia w Sejmie będzie kontynuowana [Lepper 2]
- 2026-01-27 Pierwszy raz sprzedano więcej samochodów zeeletryfikowanych niż ice
- 2026-01-27 Elektryczny Kałasznikow




Jak kupić pierwsze mieszkanie? Eksperci podpowiadają