Pic Micro Pascal - Pic Micro Pascal - Wikipedia
![]() | Zdá se, že hlavní přispěvatel do tohoto článku má úzké spojení s jeho předmětem.Květen 2018) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
Vývojáři | Philippe Paternotte |
---|---|
Stabilní uvolnění | 2.0.6 / 9. září 2014 |
Operační systém | Win32 |
Typ | Překladač |
Licence | Freeware |
webová stránka | www |
Pic Micro Pascal aka PMP je zdarma Pascal křížový překladač pro PIC mikrokontroléry. Je určen pro práci s Technologie mikročipů MPLAB sada nainstalována; má své vlastní IDE (Jiskra -based) a je to vysoce optimalizovaný překladač.
Je určen pouze pro cílení na 8bitové procesory: PIC10, PIC12, PIC16, PIC16 enhanced, PIC18.
Hlavní osou vývoje bylo vyhnout se speciálním vestavěným funkcím a postupům pro propojení hardwarových registrů. K těmto registrům se přistupuje přímo jako k proměnným, neexistují žádné souhrnné funkce a emitovaný kód je poměrně kompaktní.
PMP nezahrnuje assembler ani linker. Je navržen pro práci s Mikročip MPLAB sada nainstalována a přímo používá soubory MPASM a MPLINK .lkr pro inicializaci mapování paměti; od verze V2 přichází s vlastní databází funkcí procesoru a standardními definicemi registrů.
PMP také podporuje GPUTILS apartmá.
Jazykové funkce
PMP nepodporuje objektově orientované programování, ale RECORD může mít metody.
Od roku 2014 implementace podporuje kompilaci více souborů, včetně direktiv zahrnutí a konceptu na jednotku. PMP podporuje jedinečnou funkci: proměnné mohou být deklarovány v EEPROM a poté transparentně použity jako jakákoli jiná proměnná (s určitými omezeními).
Datové typy PMP:
- jednoduché záznamy (podmnožina): ZÁZNAM
- bit booleans: BOOLEAN
- nepodepsané a podepsané 8bitové celočíselné typy: CHAR, BYTE, SHORTINT
- nepodepsané a podepsané 16bitové typy celých čísel: WORD, INTEGER
- nepodepsané a podepsané 32bitové celočíselné typy: LONGWORD, LONGINT
- výčty
- pole (jedna dimenze): POLE
- řetězce (proměnná délka): STRING
- ukazatele (podmnožina)
- proměnné a operace s pohyblivou řádovou čárkou (pouze PIC16 a PIC18): dva formáty FP, jeden 48bitový interní (REAL) a podmnožina IEEE 32 bitů formát (SINGLE); oba formáty nezpracovávají nekonečné a NaN
Jazykový dialekt
Syntaxe PMP je velmi blízkáOOP syntaxe Turbo Pascal nebo Delphi, s některými rozšířeními podporujícími některé funkce cílového procesoru (bitové manipulace ...).
program Maják;používá A2D;var I_IR_Receiver : booleovský @PORTB.4; // TSOP1736 IR přijímač O_LED_RECEIVING : booleovský @PORTC.0; // Probíhá příjem O_LED_ERROR : booleovský @PORTC.1; // Chyba příjmu O_PWM_A : booleovský @PORTC.4; // PWM na americký měnič fáze A (addr nelze změnit) O_PWM_B : booleovský @PORTC.5; // PWM na americký měnič fáze B (addr nelze změnit) {Přepínače Beacon Addr dip} I_ADDR_0 : booleovský @PORTA.2; I_ADDR_1 : booleovský @PORTA.5;CONST LOW_BATT_SENSOR_CHANNEL = ANS0; // Kanál pro měření baterie (RA0) {Led hodnoty zapnutí / vypnutí} cLED_ON = SKUTEČNÝ; cLED_OFF = NEPRAVDIVÉ; // piny, které jsou vstupy TRISA_MASK = [I_NOT_OPTION_SERIAL, I_ADDR_0, I_ADDR_1]; TRISB_MASK = [I_IR_Receiver]; TRISC_MASK = [];začít ... PORTA := 0; // Připravte všechny výstupy TRISA := TRISA_MASK; // Nastavit směr kolíků ... A2D_Init([LOW_BATT_SENSOR_CHANNEL], 5, adcFosc16, adm8Bits, advVdd); Baud(19200); // nastavení sériového portu přiřadit(výstup, SerialPort_Output); writeln('Ahoj světe!'); ...konec.
Od verze 1.6 lze použít některá „rozšíření“ jazyka (s explicitní aktivací), většina z nich pochází z jiných jazyků podobných Pascal, jako je Oberon nebo Modula:
... PRO Já v SomeVar DĚLAT <Prohlášení> (* SomeVar may be any variable or an enumeration type *) PRO Já := X NA Y PODLE n DĚLAT <Prohlášení> (* Specifikace hodnoty proměnného kroku *) SMYČKA <Prohlášení> KONEC (* Forever loop *) LI Podmínka 1 PAK <Prohlášení> ELSIF Podmínka 2. PAK <Prohlášení> (* Zkratka pro JINÉ IF *) VRÁTIT SE SomeResult (* Přiřazení a ukončení výsledné hodnoty funkce *)
Dějiny
PMP vytvořil v roce 2006 Philippe Paternotte a vydal jako freeware zatím svobodný software v budoucnu. Nejnovější verze je 2.0.6, září 2014.[1]
PMP byl předmětem článku v Časopis SERVO v březnu 2015.[2]
Reference
- ^ Referenční příručka, PPA, 2014, Dokumentace pro Pic Micro Pascal V2
- ^ Březen 2015 Časopis SERVO článek, Thomas Henry, 2015, [1]