Pisałem jakiś czas temu o chińskich płytkach na CH32v307 z interfejsem ethernetowym.
Ten projekt miał dla mnie bardzo niski priorytet, ale stanowił swego rodzaju wyzwanie...
Po pierwsze, to są całkiem zgrabne moduły
https://www.aliexpress.com/item/1005009058874432.html w cenie niewiele przekraczającej 20 PLN.
Po drugie, ten układ ma wszystko czego potrzeba do zbudowania przyzwoitego sterownika CNC.
Poza tym są same problemy.
Nie to żebym miał coś do samych płytek, ale ich oprogramowanie to czysty masochizm.
Jest takie z pozoru całkiem zgrabne IDE o nazwie Embeetle, w którym jest od cholery przykładowego kodu, oraz straszny burdel i braki w dokumentacji...
Podam Wam dwa przykłady.
Jest taka płytka wzorowana na STM Nucleo
https://www.aliexpress.com/item/1005005137425987.html, z wbudowanym programatorem i złaczami do shieldów Arduino, bardzo fajna sprawa, a 60 PLN to jeszcze nie katastrofa.
Kiedyś kupiłem sobie taką jedną, ale później stwierdziłem rzecz oczywistą, że do testów to i owszem, ale do codziennego użytku to trzeba się nastawić na te tańsze (link na górze postu).
Co prawda w tej płytce z programatorem jest możliwość zdjęcia jumperów i użycia jej do zaprogramowania innej płytki, ale postanowiłem nie dziadować i zakupiłem osobny programator
https://www.aliexpress.com/item/1005003693318567.html Powiem Wam tyle, że do dzisiaj nie wiem co to jest i do czego służy, bo nie chce mi to współpracować z żadnym układem i żadnym oprogramowaniem. Zacząłem szukać i w końcu doszedłem do tego, że nie potrzebuję wch-link, tylko wch-linkE. Tak, różnica jest w tej jednej literce i użytym innym układzie... Po zakupieniu takiego
https://www.aliexpress.com/item/1005005180653105.html mogę programować nim te tanie płytki z Embeetle...
Drugi przykład już czysto softwarowy. Otóż jak pisałem, jest w Embeetle kupę przykładów, które najzwyczajniej nie działają i kompilator się na nich wywala... To z powodu wspomnianego burdelu i braku dokumentacji. Szukając w necie trafiłem na pomocny opis
https://forum.embeetle.com/t/ch32v307v- ... mple/829/4
Szczerze mówiąc, to zapewne nigdy bym na to nie wpadł, że to tak właśnie trzeba, bo i niby skąd...
Po zastosowaniu się do porad kompilator przestał wypluwać setki błędów i zaczął kompilować niedziałający kod...
No najzwyczajniej nie było komunikacji, pecet nawet nie wykrywał połączenia ethernetowego i szukaj wiatru w polu...
Zupełnym przypadkiem zauważyłem, że Embeetle z automatu przypisuje do projektu pliki nagłówkowe o dość podobnych nazwach, kojarzących się z różnym sprzętem... No cóż, nic dziwnego że nie działało, skoro próbowało grać równocześnie na kilku fortepianach...
Po usunięciu z projektu wszystkich tych plików oprócz jednego (nie było wiadomo którego, ale to już była wyłącznie kwestia czasu), interfejs ethernetowy cudownie ożył....
W chwili obecnej CH32v307 odsyła do peceta otrzymane pakiety UDP, więc komunikacja działa jak potrzeba.
Przeglądałem też przykłady i wychodzi na to, że enkoder kwadraturowy jest obsługiwany sprzętowo, zasadniczo tak samo jak w STM. Ponieważ ten układ ma w sumie dziesięć timerów, więc nie tylko wrzeciono tokarki, ale i zamkniętą pętlę na liniałach powinno dać się zrobić...
Potencjał to ten układ ma...
Po co pisałem o tym wszystkim?
Żeby wyjaśnić dlaczego nie da się szybko.
Będę to dłubał w wolnych chwilach, ale na pewno będzie sporo problemów do rozwiązania i efektów nie należy się spodziewać w najbliższym czasie...