Arduino programmeren in Pascal?

Mijn vraag is simpel: er is een Pascal of Pascal-klasse (FPC, Delphi, mikroPascal) programmeertaal voor Arduino?

Bij voorkeur (ik hoop dat ik niet te veel vraag) moet die taal niet ouder zijn dan 10 jaar.


Update:
Laten we geen vuuroorlog beginnen over "waarom de xxx-programmeertaal zoveel beter is Pascal" en focus houden op de kern van deze vraag. Ik weet dat Pascal het heeft gebreken (niets is perfect, toch?). Ik accepteer ze en ik wil het nog steeds gebruiken :)
Erg bedankt.

0
Omdat de gebruikelijke Arduino-omgeving op C ++ is gebaseerd, kunt u het beste zoeken op "Pascal for AVR", de gebruikte microcontroller en het ziet ernaar uit dat er een paar opties zijn.
toegevoegd de auteur Assaf Lavie, de bron

3 antwoord

Niet Pascal, maar Ada, dat veel minder beperkend is dan Pascal, terwijl het dezelfde voordelen geniet ten opzichte van low-level programmering, en veel actiever ondersteund wordt met taalherzieningen zo recent als 2012 en de formeel te bewijzen SPARK-taal, voor wanneer je je code nodig hebt werk.

Elke processor die gcc ondersteunt, kan Ada mogelijk ondersteunen, wiens Gnat-compiler volledig deel uitmaakt van gcc.

Dat is niet het hele verhaal, want je hebt ook runtime systeemondersteuning nodig voor de faciliteiten van Ada, maar voor de AVR-processor van Arduino is er een gevestigde omgeving in de vorm van de AVR-Ada-project .

Het genereert aardige strakke kleine uitvoerbare bestanden, je zult versteld staan ​​hoeveel minder ruimte eenvoudige Gnat-executables nodig hebben in vergelijking met Arduino-versies - tenzij je al dezelfde vergelijking tussen Arduino en C hebt gemaakt ... die immers dezelfde gcc-compiler gebruikt.

Voor ARM-gebaseerde Arduinos (Arduino Tenminste) is hetzelfde mogelijk, hoewel de ondersteuning nieuwer is en mogelijk minder goed ingeburgerd, zie het Cortex-GNAT-project .

Bij het verlaten van de Arduino is Ada ook gedemonstreerd op de MSP430-processor - mijn eigen project, helaas verwaarloosd op dit moment .

5
toegevoegd
Lees uw eigen vraag. U wordt SPECIFIEK gevraagd naar "... of Pascal-achtige talen". Hoe geweldig kan Ada zijn? de beste manier om erachter te komen is leren. Je kunt een Pascal-achtige subset gebruiken en de geavanceerde functies negeren als je wilt; sommige zijn hoe dan ook ongepast voor MCU's. En opnieuw: taalherzieningen, de nieuwste standaard voor Pascal lijkt ISO7185: 1990 te zijn, misschien verwart u compilerrevisies met taalstandaarden? Natuurlijk wordt Gnat veel vaker bijgewerkt dan de taal zelf.
toegevoegd de auteur brenth, de bron
Ik vind het goed dat je het niet "accepteert", trouwens. Een of twee van de opmerkingen wezen op mogelijke alternatieve aanknopingspunten: als je het opneemt en ze blijken nuttig te zijn, kun je altijd je eigen antwoord toevoegen. Als alternatief was er een soort van Pa-front-end voor gcc. Dus als je sterk geïnteresseerd bent in Pascal, waarom zou je dat niet proberen te bouwen voor de AVR-back-end, in welk geval het AVR-Ada-project (runtime-systeem) en mijn MSP430-Ada-documentatie nuttige aanwijzingen kunnen geven over enkele van de stappen op dat pad . (Werken aan gcc is niet triviaal!) Veel succes ...
toegevoegd de auteur brenth, de bron
@Kenny Ik hoor je over achterhaalde kritiek op Pascal. Ada lijdt aan dezelfde irrationele terughoudendheid om erover na te denken en dat heeft me jarenlang getroffen. Ik begon te programmeren in de eerste grote taal van Wirth (Algol-W), gebruikte ook Turbo Pascal (fantastisch voor zijn tijdperk) en vervolgens zijn derde (Modula-2 - geweldig maar met zijn limieten). Toen C en C ++ voor een decennium of zo dankzij hun commerciële onvermijdelijkheid, ondanks hun ontwerp-waanzin. Op zoek naar een beter alternatief, probeerde Ada (niet eerder beschikbaar). Na C ++ voelde meer als genezen dan als leren. Geen aanbeveling, alleen een verhaal van een reis.
toegevoegd de auteur brenth, de bron
Verduidelijkingen: 1. Ik heb het over Pascal-derivaten (mikroPascal, FPC, Delphi, enz.). 2. Ik heb het over het 'ding' dat u op uw computer installeert en gebruikt, niet over ISO. Wanneer ik het programma voor Arduino zal doen, zal ik een echt stukje software (hopelijk Pascal) gebruiken, geen ISO.
toegevoegd de auteur user19209, de bron
Hoe dan ook, totdat iemand een ander antwoord geeft (als dat ooit is), komt Ada inderdaad het dichtst bij Pascal. Ik accepteer dat uw antwoord geen beter alternatief is. Toch bedankt. Upvoted.
toegevoegd de auteur user19209, de bron
@ BrianDrummond- Ok, ik zal het proberen. Ik ben op zoek om mijn frist Arduino-bord te kopen.
toegevoegd de auteur user19209, de bron

Een Pascal-frontend voor de Gnu-compilercollectie (gcc, waarop bijna alle van de AVR-programmering is gebaseerd) bestaat al. Daarom bestaat een Pascal-compiler voor AVR in principe, zo niet in feite (en ik weet niet dat dit niet zo is). Ik zou beginnen door contact op te nemen met de mensen die aan de GPC werken om erachter te komen wat al is gedaan.

1
toegevoegd

Is het mogelijk om Arduino te programmeren in Pascal?

Het antwoord is ja en nee. Het antwoord is ja omdat het mogelijk is om de p-code virtuele machine naar Arduino te porten en compileer daarvoor.

Het antwoord is nee als de vraag wordt uitgebreid met "is er een ondersteunde open-source Arduino/AVR IDE voor Pascal beschikbaar?"

Er zijn een paar commerciële AVR/Pascal-producten. U kunt ze eenvoudig op het web doorzoeken.

Als laatste is een mogelijke kortere weg om p2c , een vertaler van Pascal naar C, als een pre te gebruiken processor in de Arduino IDE. Er zijn haken in de Arduino-build voor het toevoegen van extra tools.

Proost!

1
toegevoegd
Bedankt @ MikaelPatel. Eerlijk gezegd vind ik het niet erg (tot) 100 dollar te betalen voor een commercieel hulpmiddel van Pascal. Ik betaal nog een orde van grootte meer voor mijn Delphi-licentie, dus 100 is niet zo veel. P2C lijkt een goed alternatief. Ik zal P2C versus Ada overwegen (zoals aanbevolen door Brian). Upvote (maar ik zal Brian's bericht voorlopig het antwoord houden). Nogmaals hartelijk dank.
toegevoegd de auteur user19209, de bron