eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaRP2040 PIO › Re: RP2040 PIO
  • 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.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: