PIC24fj256da210 - dziwne zachowanie GPIO

Aug 07, 2019 22 Replies

Watchdog wyłączony. Na tym etapie tylko zaciemniałby sytuację. Wygląda na to, że chyba znalazłem przyczynę. Wczytałem się w dokumentację i okazuje się, że ten konkretny model PIC24 ma sporą pamięć, ale nie cała jest dostępne bezpośrednio. W standardowy sposób dostępne jest tylko 30kB, pozostałe 66kB to pamięć rozszerzona (EDS). Zmylił mnie fakt, że MPLABX w użytych zasobach uwzględnia całość. Z punktu widzenia programu pamięci było mniej niż oczekiwałem i stos w pewnym momencie zaczął pisać po stercie.

Przejrzałem kod i odzyskałem trochę zmiennych globalnych tam, gdzie to tylko było możliwe. Wystarczyło, żeby ruszyły wszystkie rzeczy, które do tej pory nie chciały działać.

Teraz tylko muszę opanować obsługę tej rozszerzonej pamięci z poziomu C. Gotowych bibliotek nie chciałbym przerabiać, ale teraz zostało mi już tylko (poza dopracowaniem paru szczegółów) napisanie warstwy własnej aplikacji, która równie dobrze może korzystać z tej części RAM-u.

Takie pytanie zasadnicze - po co Ci ten wynalazek? :) Masz opanowany pic32, o wiele więcej zasobów, z kontekstu wynika że probojesz uruchamic podobny soft (stos tcpip) który z powodzeniem uruchamiales na pic32 Po co się męczyć z niszowym układem? Jak mawiał klasyk edukacja nie usprawiedliwia straconego czasu :).

1) Praktyczny cel jest taki, że PIC24 traktuję jako furtkę do dsPIC33, którym też chciałbym się trochę bliżej przyjrzeć. Sporo krótkofalarskich projektów opartych na DSP powstało właśnie na procesorach z tej rodziny. 2) Okazuje się, że nie ma aż tak wielkich różnic pomiędzy PIC24 i PIC32. Największą jest fakt, że pisząc kod najlepiej posługiwać się rejestrami

- biblioteka plib (przynajmniej ta "legacy") zdaje się być mniej dopracowana i chyba nie jest do końca kompatybilna z nowszymi układami. Jednak układ rejestrów jest bardzo podobny i można się w tym bez trudu połapać. Chciałem jednak wykonać jakiś projekt na tym MCU aby przekonać się, czy nie ma jakichś poważniejszych "pułapek" i jak się okazuje, na jedną trafiłem. Teraz powinno już pójść z górki. ;)

3) To trochę realizacja hobby. Uruchamiałem już soft na różnych "dziwnych" rodzinach CPU i MCU. W tym także takich, które zaliczają się do kategorii "retro". Jednym z projektów, które w tej chwili leżą u mnie na półce jest przeniesienie pewnej istniejącej konstrukcji (w pierwszej wersji zrealizowanej na AVR, w drugiej na PIC32) na system mikroprocesorowy oparty na 6502. ;)

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required