Microchip PIC 16F / 18F
Rynek docelowy
Niedrogie 8-bitowe mikroprocesory. 16F jest jedną z wcześniejszych linii procesorów Microchip i nie jest szczególnie podatny na programowanie w C / C ++ z powodu:
- jego zestaw instrukcji architektura rdzenia i pamięci
- konieczność zmiany banków
- brak wsparcia dla typowych operacji wskaźnika
- słaba wydajność w C / C ++ z powodu architektury
- wymaga większego rozmiaru programu do implementacji algorytmów
Seria 18F jest nowsza i należy ją rozważyć, jeśli możesz sobie na nią pozwolić. Jest podobny pod względem rynku docelowego, zestawu urządzeń peryferyjnych, pakietów układów scalonych, narzędzi programistycznych i ceny do serii 16F. Rdzeń 18F został zaprojektowany tak, aby był bardziej podatny na C i C ++, ze względu na:
- wsparcie dla pośrednictwa
- określone banki RAM, które są zawsze dostępne (nie ma potrzeby przełączania banków)
Oprogramowanie
Dość łatwy do programu, można pisać używając jego zestaw 30 instrukcji montażu lub użyć kompilatora C . Są to 8-bitowe MCU, więc jeśli chcesz pracować z wartościami> 255, musisz sam znaleźć / napisać 2-bajtowy kod dodawania / odejmowania / mnożenia / dzielenia. Jego pamięć RAM ma 4 „banki”, więc jeśli piszesz w asemblerze, musisz ciągle przełączać się tam iz powrotem, aby uzyskać dostęp do zmiennych przechowywanych w bankach innych niż bieżące.
Sprzęt komputerowy
Te MCU działają dość wolno, z typową prędkością 4 MIPS i maksymalną prędkością 20 MIPS. Mają kilka wbudowanych funkcji sprzętowych, które działają poprawnie, jeśli są odpowiednio skonfigurowane, takich jak ADC, port szeregowy, port równoległy, magistrala CAN, magistrala I2C, magistrala SPI, porównanie napięcia, EEPROM i oczywiście uniwersalne porty I / O .
Dokumentacja
- Arkusze danych zawierają wszystkie wymagane informacje (wyprowadzenia, rejestry konfiguracji itp.), Starannie podzielone na kategorie i dobrze udokumentowane. Instrukcja wyjaśnia również pogłębione o funkcjach.
Narzędzia programistyczne
Microchip ma nowe narzędzie, VDI, które ułatwia konfigurację różnych funkcji sprzętowych MCU, które generują kod asemblera lub C. Lepsze niż przelewanie arkuszy danych.
Microchip oferuje MPLAB IDE od wielu lat i chociaż program powoli się poprawia, w porównaniu do narzędzi programistycznych dla komputerów PC (Visual C ++, Eclipse / NetBeans dla Java / itp.) Interfejs użytkownika jest bardzo słaby, a oprogramowanie nadal jest szczególnie wadliwe. Nie obsługuje również C ++, mimo że różnica między C i większością funkcji C ++ (z wyłączeniem alokacji pamięci dynamicznej, funkcji wirtualnych i kilku innych funkcji) jest bardzo niewielka, a C ++ zachęca do modułowości programowania. Istnieją zewnętrzni dostawcy IDE, szczególnie IAR, ale są drogie. (Hi-Tech został niedawno wykupiony przez Microchip.)
Debugowanie w obwodzie jest oferowane w niektórych częściach przez interfejs ICD Microchip, 2-pinowy interfejs szeregowy, do którego można uzyskać dostęp za pomocą adapterów debugujących ICD2, ICD3 , REAL ICE , PICkit2 / 3 itd. Upewnij się, czy wybrana część ma funkcje ICD! Funkcje debugowania są nieco ograniczające i mają „poślizg”, w którym ustawiasz punkt przerwania dla jednej instrukcji, a program zatrzymuje kilka instrukcji później. Jednak ICD jest lepszy niż nic.
Wsparcie
- Uwagi do aplikacji opisują kod i zespół obwodów dla różnych popularnych aplikacji
- Aktywna społeczność użytkowników na forach Microchip
- Bezpłatna witryna pomocy technicznej 24/7, na której wysyłasz swoje problemy (bilety), a personel techniczny odpowie bezpłatnie, a nawet zadzwoni, jeśli potrzebujesz dodatkowej pomocy
- Prezentacje (seminaria internetowe), które wyjaśniają różne moduły i aplikacje