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
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.
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.
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.
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.
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.
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
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
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
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.
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.
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
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.
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.