Forum: Mikrocontroller und Digitale Elektronik BASIC-Compiler für PIC


von Max Falkenberg (Gast)


Lesenswert?

Hallo,
aus meiner Schulzeit kann ich noch BASIC und möchte nun in die PIC-Welt 
einsteigen. Daher suche ich einen guten BASIC-Compiler für PICs. Beim 
Googlen bin ich schon auf die verschiedensten Compiler gestoßen: Great 
Cow BASIC, Proton, PICBasic, um nur einige zu nennen.
Aber welchen Compiler könnt Ihr mir empfehlen? Bei AVRs ist ja BASCOM 
ein Quasi-Standard.  Und beim PIC? Welcher BASIC-Compiler ist da für 
professionelle Anwendungen verwendbar?

Vielen Dank für Eure Antworten!

Viele Grüße
M. Falkenberg

von Jens P. (Gast)


Lesenswert?

Naja, "Professionell" ist ja immer so ne Sache. Prinzipiell wirste wohl 
irgendwie alles mit ejdem Compiler machen können. Auf der anderen seite 
ist für die meisten alles ausser C nur Spielzeug.

Ich selbst benutze unter anderem Microbasic von Mikroelektronika und 
muss sagen, dass ich mit dem Compiler und der IDE schon sehr zufrieden 
bin. Die Bibliotheken sind auch ziemlich umfangreich und decken viel 
Standardkram ab. Der Support im Forum ist auch ganz ok.

von ttl (Gast)


Lesenswert?

Es werden sich 100 mal mehr "professionelle" Projekte in C programmiert 
als in Basic. Ausserdem gibt es für die PIC von Microchip tolle und 
umfangreiche Librarys und Beispielprojekt und auch kostenlose Compiler.

von Stefan (Gast)


Lesenswert?

Microbasik ist ganz gut. Kannste mit anfangen

von Sunny (Gast)


Lesenswert?

ttl schrieb:
> Es werden sich 100 mal mehr "professionelle" Projekte in C programmiert
>
> als in Basic. Ausserdem gibt es für die PIC von Microchip tolle und
>
> umfangreiche Librarys und Beispielprojekt und auch kostenlose Compiler.

Wo sind die denn? Es kann sein das in C mehr "professionelle" Projekte 
programmiert werden, aber an den Source Code kommt man nie ran und wenn, 
dann ist es sowieso nicht zu gebrauchen weil zu kopliziert.

von Sunny (Gast)


Lesenswert?

Ich wüde sagen die meisten sogenanten C-programierer sind möchte gern 
programierer.Die denken wenn Sie C lernen, dann weden sie gleich zu 
Profis, aber C ist genau so eine Sprache wie jede andere, die hat keine 
besondere Vorteile, nur das sie viel schwieriger zu lernen und verstehen 
ist.Die ist besser für PC Programierung geeignet aber für den PIC reicht 
auch Basic.

von Halunke (Gast)


Lesenswert?

Max Falkenberg schrieb:
> Aber welchen Compiler könnt Ihr mir empfehlen? Bei AVRs ist ja BASCOM
> ein Quasi-Standard.  Und beim PIC? Welcher BASIC-Compiler ist da für
> professionelle Anwendungen verwendbar?
http://www.mikroe.com/
Die haben neben PIG- und AVR-Compilern mitlerweile nicht nur 
Basic-Compiler für TI/ST ARM Knechte. Einfach mal dort spionieren gehen.

von Klaus (Gast)


Lesenswert?

Hallo!
Für den Einstieg in PIC gibt es das relativ preiswerte "PICkit 3 Debug 
Express" (DV 164131), bestehend aus Programmer/Debugger sowie einer 
Platine dazu (bestückt mit uC 44 Pin).
Dabei ist auch eine CD mit dafür passenden einfachen Beispielen, LED 
blinkend, Lauflicht, A/D Wandler usw., insgesamt 12 Projekte.
Wenn man das durchgearbeitet ist, hat man viel gelernt und kann 
rudimentär "embedded C" programmieren, für diese PIC Typen jedenfalls. 
Etwas Englischkentnisse sollten vorhanden sein!

Weitere 3 Platinen (nur 1 bestückt) mit demselben uC bekommt unter 
Bezeichnung DM164130-4 .
Für den "PICkit 3" Programmer/Debugger passen ausserdem verschiedene 
andere preiswerte Demoboards ; Bezeichnungen zu finden bei 
microchipdirect.com unter Suche nach "PICkit Demo Board".
Bespielsweise das DM164120-4 (18-Pin-DIP) , das mit dem uC PIC16F1827 
ausgestattet ist (wieder 3 Platinen, 1 bestückt).
Nicht vergessen einzelne uC für die 2 Leerplatinen mitzubestellen!

Vorgenannte Artikel gibt es neben microchipdirect.com auch bei bekannten 
Versendern (die Typbezeichung suchen).

Gruss

von Max Falkenberg (Gast)


Lesenswert?

Hallo zusammen,
vielen Dank für Eure Antworten. Ihr empfehlt mir also Microbasic bzw. C 
zu lernen. Mir ist schon klar, dass man Microcontroller eigentlich mit C 
programmiert, aber BASIC liegt mir einfach viel mehr. Kurzum ich möchte 
bei BASIC bleiben.
Bei meiner SUche mit Google bin ich auf folgende "große" Compiler 
gestoßen:
-PICBasic Pro / Proton (Der Gleiche?)
-Microbasic von Mikroelektronika (hier mir empfohlen)
-Great Cow BASIC (Kostenlos)

Was sind die Unterschiede zwischen diesen Compilern? Mit welchem hat man 
die meisten Möglichkeiten?

Viele Grüße

M. Falkenberg

von Carsten S. (dg3ycs)


Lesenswert?

Max Falkenberg schrieb:
> Hallo zusammen,
> Mir ist schon klar, dass man Microcontroller eigentlich mit C
> programmiert, aber BASIC liegt mir einfach viel mehr. Kurzum ich möchte
> bei BASIC bleiben.
Ob C oder BASIC ist letzten endes auch nur deine private Entscheidung. 
Für reines Hobby und gelegentliche nicht besonders Anspruchsvolle 
Programme ja auch völlig OK. Wenn es nur darum geht das man ohne 
besondere Timinganforderungen einen Text auf ein Display zaubern will 
oder ähnliches macht es manchmal auch wirklich keinen Sinn eine andere 
Sprache zu lernen wenn man die eine schon kennt.

ABER: Von der Anforderung "Professionell" solltest du dich dann 
definitiv Verabschieden...

> Bei meiner SUche mit Google bin ich auf folgende "große" Compiler
> gestoßen:
> -PICBasic Pro / Proton (Der Gleiche?)
> -Microbasic von Mikroelektronika (hier mir empfohlen)
> -Great Cow BASIC (Kostenlos)
>
> Was sind die Unterschiede zwischen diesen Compilern? Mit welchem hat man
> die meisten Möglichkeiten?

Wenn ich das richtig sehe, dann gibt es von den beiden kommerziellen 
Compilern auch Testversionen (bei MikroE z.B. Codegrößenbeschränkt, für 
kleinere Projekte also voll Funktionsfähig). Den letzgeneannten kenne 
ich überhaupt nicht, aber du schreibst ja das der Frei ist.

Wenn du also mit dem Gedanken spielst die gut 200Euro auszugeben, dann 
würde ich mir einfach mal ein Wochenende Zeit nehmen und alle drei 
Compiler gründlich ausprobieren.
Es muss ja nicht unbedingt um "besser" oder "schlechter" gehen, manchmal 
ist es einfach so das einem die Umsetzung "A" einfach besser gefällt als 
Umsetzung "B", der Kollege nebenan es aber genau anders herum sieht.
Und wenn der kauf erst einmal getätigt ist will man dann nach ein paar 
Tagen ja nicht feststellen müssen das einem der andere doch besser 
gelegen hätte.

Was mir sonst an Unterschieden so ins Auge gestochen ist:
PICbasic soll wohl MPLab kompatibel zu sein, dies bedeutet man kann im 
Prinzip mit der original vom Hardwarehersteller herausgegebenen IDE 
arbeiten in die man den Compiler einbindet.
Vorteil: Alle gängigen (billigen) Programmiergeräte werden Unterstützt 
usw. Ohne Umwege. Wie es sich mit dem Debuggen verhält solltest du noch 
mal in Erfahrung bringen, wenn die Kompatiblität groß genug ist kann man 
dann auch direkt daraus Debuggen und Simulieren, ein großer Vorteil.

MikroE hat seine komplett eigene IDE und unterstützt in erster Linie nur 
seine eigenen Programmiergeräte. Es gibt für einige Geräte einen 
Workaround mit hilfe von Komandozeilentools - besipielsweise für PicKit2 
& 3 die ein von Microchip herausgegebenes Kommandozeilentool nutzen.
(Gerade für den MikroE C Compiler in der Diskussion gewesen). Das halte 
ich eher für ein MINUS

Bei MikroE hätte man evtl. noch den Vorteil das der HErsteller auch 
BASIC und C Compiler für andere Architekturen anbietet die vermutlich 
recht ähnlich sein werden. Da ich aber annehme das diese dann ebenfalls 
wieder bezahlt werden müssen relativiert sich das wieder.
(Würde die Lizenz für ALLE MikroE Basiccompiler gelten währe das für 
mich ein klares, fast nicht zu schlagendendes PRO Argument wenn es 
unbedingt BASIC sein muss)

Über diesen Thread: (microBasic vs PicBASIC Pro )
http://forum.allaboutcircuits.com/showthread.php?t=7110
 bin ich auf dieses Dokument gestossen das einiege Unterschiede enthält:
http://www.mikroe.com/pdf/mikrobasic/migration_path.pdf
Zu beachten ist aber das es von MikroE herausgegeben wurde, also 
VIELLEICHT nicht ganz vollständig ist bei Dingen die evtl. in richtung 
nachteiliges für Mikroe gehen.

Sunny schrieb:
> Ich wüde sagen die meisten sogenanten C-programierer sind möchte gern
> programierer.Die denken wenn Sie C lernen, dann weden sie gleich zu
> Profis, aber C ist genau so eine Sprache wie jede andere, die hat keine
> besondere Vorteile, nur das sie viel schwieriger zu lernen und verstehen
> ist.Die ist besser für PC Programierung geeignet aber für den PIC reicht
> auch Basic.

Troll oder ernstgemeint? - ICh kann mich nicht entscheiden...
Natürlich wird man durch das lernen von C nicht gleich zum Profi und 
auch unter den C Programmierern gibt es natürlich so einige 
Möchtegerns...
Aber viele -bei weitem aber nicht alle- die hier im Forum in solchen 
Threads stellung nehmen sind per Definition dann doch "Profis".
Es sind Leute die Ihr Geld damit verdienen das sie Firmware für 
Mikrocontroller (oder je nach Arbeitgeber Firmware und Hardware) 
entwickeln. Da haben die dann lange Jahre Erfahrung drin, wobei es nicht 
nur um das Zusammenschreiben des Programms geht sondern bei jedem 
Projekt aufs neue -im Idealfall- auch die Art der Umsetzung unter 
wirtschaftlichen Aspekten entschieden wird. - (Welcher µC HErsteller, 
welche Architektur, welche Sprache usw)
Niemand davon schreibt in C weil C so "Cool" ist - sondern weil C 
obejktiv gesehen einfach einen RIESIGEN Haufen Vorteile gegenüber Basic 
mitbringt.

Und das C "nur" für die Programmierung von PC geeignet ist, das ist mit 
Verlaubt der größte Qautsch den ich seit Wochen hier im Forum gelesen 
habe.

Ich bin KEIN -PC- Programmierer, Ich schreibe ab und an mal ein Tool für 
Testzwecke, sonst nichts - Das überlasse ich den Kollegen. Aber auf PC 
Seite wird man C heute entweder nur noch für sehr einfache Programme 
oder für sehr sehr hardwarenahe Anwendungen(=Treiber) ernsthaft in 
Betracht ziehen. Anwendungsprogramme schreibt man heute im allgemeinen 
eher in Sprachen wie C++, C# oder JAVA (Nicht abschließend)
C ist immerhin in einer Zeit Entstanden wo die CPU der "PCs" - damals 
oft noch anders genannt- nicht mal so so leistungsfähig waren wie heute 
durchschnittliche Mikrocontroller.

Sunny schrieb:
> ttl schrieb:
>> Es werden sich 100 mal mehr "professionelle" Projekte in C programmiert
>> als in Basic. Ausserdem gibt es für die PIC von Microchip tolle und
>> umfangreiche Librarys und Beispielprojekt und auch kostenlose Compiler.
> Wo sind die denn? Es kann sein das in C mehr "professionelle" Projekte
> programmiert werden, aber an den Source Code kommt man nie ran und wenn,
> dann ist es sowieso nicht zu gebrauchen weil zu kopliziert.

Es kann nicht nur sein das es so ist, sondern es ist definitiv so. Wobei 
ich den Faktor 100 für viel zu gering halte. Der wird eher deutlich 
größer sein.
Das die Sourcecodes nicht alle Verfügbar sind ist wohl mehr als klar. 
Darum geht es auch erst einmal gar nicht. ICh denke es ging darum zu 
zeigen wie es in der "Professionellen Welt" Abläuft. Und dort werden die 
Entscheidungen überwiegend STRENG nach kosten-nutzen getroffen.

Ach ja: Der großteil der Sourcen für kommerzielle Projekte ist ja 
wirklich nicht verfügbar. Trotzdem gibt es unmengen von sehr brauchbaren 
Beispielen im Netz. VIEL VIEL mehr als in Basic.
Wo die Sind kann ich ich dir sagen: Oft findet man schon beim HErsteller 
tonnen von Programmen für den jeweiligen Mikrocontroller den man gerade 
bearbeitet. Für fast jeden Einsatzzweck etwas.
Beispielsweise:
http://www.microchip.com/CodeExamplesByFunc.aspx
(Und das ist nicht alles, das sind nur die Beispiele, es gibt da dann 
alleine bei Microchip auch noch die Frameworks, Aplication Notes und 
eine Seite wo dritte Ihre Lösungen hochgeladen haben - Alle Unterseiten 
jeweils noch einmal mit Codebeispielen.)
Zugegeben Microchip ist in dieser Hinsicht eher einer der 
"hilfreicheren" HErsteller. Aber grundsätzlich haben alle HErsteller 
soetwas.
Und dann kommen noch die unzähiligen privaten Seiten und Foren.

Und findet man beim eigenen Hersteller nichts geht man halt beim anderen 
Hersteller "Spionieren" und holt sich dort Anregungen. Da alles C ist 
kann man vieles Übernehmen. (Man muss natürlich die Lizenzbedingungen im 
Blick haben) Nur die HArdwarezugriffe müssen angepasst werden

Zeige mir abr mal den HErsteller der zahlreiche BASIC Beispiele 
bereithält.
Mal ganz abgesehen von der Möglichkeit etwas für andere Architekturen zu 
übernehmen.

Aber Egal:
Naochmal @TE
Zu deiner BASIC Frage habe ich ja einiges geschrieben. Und wie gesagt 
stimme ich zu das man für sehr einfache Programme nicht C lernen muss 
wenn man BASIC beherrscht.
ABER: Wenn du auch nur mit den Gedanken spielst doch etwas mehr zu 
machen oder doch mal auch andere µC als PIC auszuprobieren, dann würde 
ich dir -trotz deiner geäusserten Absicht- DOCH NOCH EINMAL sehr ans 
Herz legen C zu lernen. Es ist im grunde wirklich nicht viel schwerer 
als Basic. Es gibt ein paar Dinge die man mehr beachten muss. Aber wenn 
man den Bogen einmal raus hat...
Ich weiß aus eigener Erfahrung von vor vielen Jahren das gerade dieses 
ganze Klammernzeugs (alleine drei verschiedene Klammerntypen!) verbunden 
mit den vielen Datentypen, Aufteilung der Quelltexte sowie der Trennung 
Definition und Deklaration für einen von Basic kommenden durchaus 
abschreckend wirkt. Aber es dauert nicht lange dann hat man den Bogen 
raus - und C macht richtig Spass!

Gruß
Carsten

von Sunny (Gast)


Lesenswert?

Also -PICBasic Pro / Proton sind sehr änlich, aber PICBasic Pro ist ein 
bischen schwieriger in der Syntax.Ausserdem erzeugen sie einen ASM code 
der mit MP-Lab kompatibel ist.
Microbasic von Mikroelektronika ist schon leistungsfähiger und 
unterstützt lokale variablen aber der ASM code ist nicht MP-Lab 
kompatibel.

von Stefan (Gast)


Lesenswert?

Lass dich nicht verrückt machen.
Du kannst in Mikrobasic alles machen was
auch in C geht. Ob kleine Projekte oder
große Projekte alles ist auch in Basic möglich.
Gibt da keine Einschränkung von Projekten, egal
wie aufwendig sie sind.

von Klaus (Gast)


Lesenswert?

Klar kann man ein Bastelprojekt in BASIC oder in jeder anderen Sprache 
nach eigenem Belieben programmieren.
Wenn aber was von "professionell" die Rede oder zumindest Richtung ist, 
sollte man irgendwann auf C umsteigen bzw. damit beginnen.
Es werden Software-Ingenieure gesucht, welche C können, das ist die 
Sprache der Wahl in der Industrie, fast egal welcher uC Typ oder 
Hersteller.
Auch ein Schreiner arbeitet mit Holz und nicht mit Pappmaché.

Klaus

von Sunny (Gast)


Lesenswert?

Was hat man davon wenn dein Programm in C geschrieben ist, aber der ASM 
code doppelt so lang ist wie bei Basic? Im Grunde geht's doch darum wie 
gut und kompakt dein Maschienencode ist und nicht mit was es geschrieben 
wurde.Deswegen ist die beste Sprache für den PIC - Assembler.

von Chris (Gast)


Lesenswert?

Jal v2 . Die Syntax ist Basic like, die Libs sind besser als die von 
Basic
und zudem hast du auch noch die Möglichkeit des Multitaskings.

von Sunny (Gast)


Lesenswert?

Jal v2 gefählt mir nicht so, Jal v1 ist besser.Ich habe das selbe 
Programm mit Jal v2 kompiliert und der ASM Code war etwa 30% länger als 
bei Jal v1.
Also gibt es da noch viel zu optimieren.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.