Guten Morgen Ich habe nun in den ersten 2 Ausbildungsjahren zum Elektroniker ausschliesslich in Assembler Programmiert. So langsam möchte ich auf C umsteigen, wird auch in den kommenden Monaten das Thema in der Schule sein. Nun, ich dachte mir es kann nicht schaden wenn ich mich bereits im vorraus in das Thema einarbeite, so dass nicht alles neu ist. Habe nun bereits viel in meinem Buch gelesen und verstehe so langsam das Prinzip. Nun möchte ich gerne Simple Programme schreiben, mit denen es zb möglich ist einen Schalter abzufragen und danach eine LED ein/auszuschalten, so Anfängersachen zum besseren Verständniss. Für Assembler habe ich immer mit MPLAB von Microchip Progammiert. Ich weiss, dass es für MPLAB auch einen C Compiler gibt, allerdings hat mir mein Berufsschullehrer davon abgeraten (Grund ungekannt, er wollte nicht weiter darauf eingehen). Nun möchte ich gerne von euch wissen, mit welchem Programm ihr denn euren Code schreibt. Das ganze sollte für's erste Kostenlos sein. MicroC von Microchip habe ich installiert, ein extrem nettes Programm muss ich zugeben... allerdings ist die Grösse des Codes in der Demoevrsion auf soweit ich mich erinnere 2kb beschränkt, was nicht sonedrlich viel ist, wie ich feststellen musste. Kennt jemand von euch ein gutes Prorgamm ohne diese Einschränkung? Und was haltet ihr von MicroC? Bin dankbar für all eure Antworten! Gruss
Wo du dich auch mal umschauen kannst ist auf www.spurt.de ist sehr gut aufbereitet finde ich. Gruß, Matthias K.
Ich vermute mal du meintest eher www.spRUt.de ? denn auf Spurt.de erkenne ich keinen wirklichen zusammenhang mit uC oder sonstigem.
Also ich programmiere im MPLAB nun seit einiger Weile mit dem CCS Compiler! Ein sehr guter C-Compiler jedoch nicht kostenlos.
Das Zeugs von sprut.de ist total veraltet! Siehe meine Beiträge hier Beitrag "Re: PIC Programmiereinstieg" und hier Beitrag "Re: PIC Programmiereinstieg" Ich rate weiterhin, das Original PicKit3 zu kaufen, am besten zusammen mit der Lern-CD als "DV 164131" (= PICkit 3 Debug Express). Gruss
Danke für all die tollen Antworten bisher. Ich werde sie mir gleich mal durchlesen! @Erich: Habe mir vor langer Zeit bereits ein PICKit 3 gekauft, aber danke für deine bestätigung. Nun weiss ich wenigstens dass es kein Fehlkauf war!
MicroC ist eher von "www.mikroe.com" und nicht von MICROCHIP ;-) Compiler ohne Einschränkungen: nimm die von MICROCHIP. Bei denen wird zwar nach 60 Tagen die Optimierungsstufe reduziert, gibt aber keine Codegrößenbeschränkung. Als Auswahl hast du MPLABC18, MPLABC30, H-TECH-C bzw. XC8, XC16, XC32 Wobei die XCxx Compiler glaube ich nur mit MPLABX laufen - bin mir da aber nicht sicher, einfach bei MICROCHIP direkt nachsehen, runterladen und testen....
Ja, ich meine von Mikroelektronika, sorry... bei dem ganzen Miro hier, Mikro da geht sowas beim tippen schnell mal verwechselt. und danke für deine Antwort. Ich werde mich gleich mal nach den Unterschieden im Internet erkundigen und danach mal schauen, ob einer von diesen meinen Wünschen entspricht. Man will ja schliesslich wissen, womit man es zu tun hat.
Elolehrling schrieb: > Für Assembler habe ich immer mit MPLAB von Microchip Progammiert. Ich > weiss, dass es für MPLAB auch einen C Compiler gibt, allerdings hat mir > mein Berufsschullehrer davon abgeraten (Grund ungekannt, er wollte nicht > weiter darauf eingehen). Wenn dein Berufschullehrer das nicht begründen kann, hat er meiner Meinung nach nicht die Kompetenz um zu beurteilen welchen Ansprüchen die Compiler genügen. Schau dir die Palette mal an und installier dir das passende Paket um es auszuprobieren. Die "Meinung" eines ahnungslosen BS-Lehrers soll dich nicht davon abhalten selbst auszuprobieren und dir ein eigenes Urteil zu bilden.
Schau dir mal die MPLabX Umgebung von Microchip an. Die ist kostenlos und die Compiler von MC arbeiten damit natürlich perfekt zusammen. XC8,XC16,XC32 Compiler findest du auch auf den Microchipseiten. Von jedem gibt es eine Free Edition: MPLAB® XC Free Edition: -Supports all the devices and commands of the Standard and PRO Editions No time or memory restrictions -Limited code optimizations -Unrestricted use—ideal for a low-cost academic or commercial solution -Allows for all the code optimization and commands of the PRO Edition for 60 days – you decide when to turn it on. -An option to activate the use of the PRO Edition features and optimizations is included. After 60 days, the compiler will revert back to the levels of the Free Edition
Ich würde Dir auch zu den Microchip C Compilern raten. Mittlerweile gibt es ja die MPLAB X IDE und auch XC Compiler. Auch ohne Optimierung solltest Du erstmal gut damit zurecht kommen. Erst wenn Du größeren Code erzeugen willst, musst Du überlegen, ob Du Dir die Lizenz kaufst oder einfach 'nen größeren Controller nimmst - MC hat ja jede Menge Auswahl.
Um welchen PIC geht's denn überhaupt? Ich programmiere PIC24 und dsPIC33 mit dem kostenlosen C30-Compiler von Microchip. Als Projektumgebung nehm ich den guten alten "Programmer's Notepad", zum Build und Debuggen dann MPLAB. Das geht alles problemlos.
Bei dem besagten uC handelt es sich um einen PIC16F887. Zwar vielleicht nichtmehr das neuste vom neusten, aber ich bin mir das Arbeiten mit diesem PIC angewöhnt und denke, um ein bisschen mit C rumzuspielen tut der's auch.
PIC16F887 ist für C odr andere Hochsprachen nicht so gut geeignet, weil er wenig Speicher hat und der dazu noch in Banks unterteilt ist.Der Code wird viel grösser sein als in Assembler.
Elolehrling schrieb: > dass es für MPLAB auch einen C Compiler gibt, allerdings hat mir > mein Berufsschullehrer davon abgeraten Was didaktisch auch verständlich ist da für einen Einsteiger sehr schwer zu handhaben. Die MikroE Produkte sind da wesentlich einfacher (compilieren z.B. wesentlich schneller und sind klarer in Bedienung und Fehlermeldungen) und es ist auch an Leute gedacht die nicht professionell proggen. Die 2k Begrenzung wirst du am Anfang eh nicht erreichen, das ist schon ne ganze Menge Source Code. Wenn du C kannst und größere Projekte anstehen ist der Wechsel zu MPLAB einfach. Anders herum ist es wesentlich aufwendiger.
Elolehrling schrieb: > ..handelt es sich um einen PIC16F887... um ein bisschen mit > C rumzuspielen tut der's auch. völlig ausreichend. Wenn man von Assembler kommt ist C erstmal eine Art Makroassembler. Die Besonderheiten lernt man schneller mit einem kompakten Compiler als mit den Profikram (der bei MPLAB immer ein wenig hakelig ist) Den Pickit binde ich übrigens mit Programming on change oder wie sich das nennt ein, damit wird der Pic automatisch neu programmiert wenn sich das hexfile ändert. Super praktisch, geht mit jedem compiler aber nur mit Pickit II (wozu man den Pickit III aber umflashen kann). Mit dem integrierten serial terminal (über die Programmierpins) hat man dann gleich eine debugger Schnittstelle zum Nulltarif (bei Pickit II) die mit einer Software UART angesprochen wird.
>@Erich: >Habe mir vor langer Zeit bereits ein PICKit 3 gekauft, ... Hallo Leute, der Elolehrling hat bereits das PICKit 3 --drei-- also warum sollte er irgendwas mit einem ollen II machen? Ggf. sollte er das ergänzen mit dem DM164130-4 , das ist der PIC18F45K20 drauf. Sind 3 Platinen, 2 leere, 1 bestückte. Dann den Compiler (frei) bei Microchip und die Lern-CD-Software (siehe Beitrag "Re: PIC Programmiereinstieg"), dann ist er auf dem Stand des PICkit 3 Debug Express. Leider gibt's die DM164130-4 nicht überall, aber doch bei Farnell, Digikey, Mouser. Drankenkden für die beiden leeren Pcbs zwei zusätzliche uC mitzubestellen! Gruss
besorge dir einen PIC18 deiner wahl (3.3V versus 5V, genügend RAM und Flash), installiere MPLBX und den XC-Compiler: www.microchip.com/MPLABX unter http://pic-projekte.de/wiki/index.php?title=Hauptseite findest du auch gute tips, beispiele und hilfe PIC16 sind wirklich veraltet, das ist etwa so wie wenn du bei einer kutsche für pferde versuchst eine servo-lenkung einzubauen: irgendwie ist's vielleicht möglich aber echt nicht epfehlenswert. die PIC18 sind für den einstig wirklich sehr geeignet (noch nicht sehr komplex). und nochmals eines däftig drauf geben die PIC24 in leistung, ausstattung und komplexität.
Ich finde dieses "derundder PIC ist nicht für C geeignet" oft ziemlich unrelevant. Ich denke dass Anfänger soeinen PIC-Speicher kaum bis zum Anschlag nutzen. Erst kommen kleinere Tests und dann kleinere Projekte. Ich persönlich habe in der Zeit weder Platztechnisch noch Compilergrenzentechnisch probleme gehabt und der C-Code war viel schneller geschrieben und übersichtlicher als in ASM. Ich nutze auch gerne MikroC und bin in der freiversion nie an die grenze gekommen bis ich mal mit USB rumspielen wollte. Ich hab die usb-lib eingebunden und schon konnte ich nich mehr kompilieren, was mich dann dazu gebracht hat die Vollversion zu holen. Ich bin seit ein paar Tagen dabei einige C Compiler für Pics mal gegenüber zu stellen. Ich will den Vergleich diese Woche noch hier vorstellen. Jedenfalls hab ich dabei auch einige Compiler benutzt und meine Meinung über diese gebildet. Es ist wie überall Geschmackssache. Witzig finde ich, dass beim kostenlosen XC8 Compiler das Programm ca. doppelt so groß wird, als wenn man die PRO Version nimmt, wobei es beim XC16 hingegen ziemlich gleich ist (dort macht eher die Freiversion eine ein paar Byte kleinere hex). Letztendlich: Mit MikroC wirst du bestimmt erstmal nicht an die Codebegrenzung kommen und grade Berufsschullehrer sind aus eigener Erfahrung auch nicht immer die hellsten. Auch die XC-Compiler haben ihre Daseinsberechtigung... Was ich persönlich schade finde ist dass man in MikroC das Pickit3 nicht als brenner einfügen kann und man immernoch über ein 2. Programm die *.hex brennen muss (wenn jemand weiß wie es geht, bitte melden ;) ) Für kommerzielle Produkte mag es anders aussehen, aber als Privatmann/Hobbyist kauf ich mir lieber ein paar mal im Jahr ein paar Cent teurere PICs mit doppeltem Flash, anstatt ich mir für z.b. 500-1000€ den XC8 kaufe.
Michael Skropski schrieb: > Witzig finde ich, dass beim kostenlosen XC8 Compiler das Programm ca. > doppelt so groß wird, als wenn man die PRO Version nimmt, wobei es beim > XC16 hingegen ziemlich gleich ist (dort macht eher die Freiversion eine > ein paar Byte kleinere hex). > Ich habe auch beim XC32 Compiler festgestellt, dass sich die paar hundert Euro nicht lohnen würden. Bei ca. 60k ist der Unterschied weniger als 1k zwischen freier Version und der Pro. Was auch immer Microchip da gemacht hat... Zum Thema: Im großen und ganzen sind die meisten Compiler und IDEs Geschmackssache (wobei man bei Mircochip auf jeden Fall die MPLAB X IDE nutzen sollten - allein die Bedienung (Suchen, Projekt-Übersicht, etc) hat sich stark verbessert). Der PIC der für dieses Projekt genutzt wird ist auch egal. Nen Schalter abfragen und eine LED steuern wird jeder können.
>> Witzig finde ich, dass beim kostenlosen XC8 Compiler das Programm ca. >> doppelt so groß wird, als wenn man die PRO Version nimmt, wobei es beim >> XC16 hingegen ziemlich gleich ist (dort macht eher die Freiversion eine >> ein paar Byte kleinere hex). >> > > Ich habe auch beim XC32 Compiler festgestellt, dass sich die paar > hundert Euro nicht lohnen würden. Bei ca. 60k ist der Unterschied > weniger als 1k zwischen freier Version und der Pro. Das klingt nach einem Vergleich zwischen den Optimierungsstufen -O1 und -O2. Da tut sich von der Größe her nicht viel. Mit -O2 läuft der Code aber schneller. Das wird bei den Compilervergleichen gerne vergessen.
Bei XC16 und XC32 ist in der freien Version die optimierung o1 verfügbar. o2 ist noch mehr optimiert und o3 ist wie o2, nur mehr in Richtung Geschwindigkeit. os hingegen ist wie o2, nur noch spezialisiert auf Codegröße. Ich finde, dass sich bei den beiden Compilern eine Proversion nicht lohnt. Bei XC8 ist es schon deutlich merkbar, dass man die hälfte sparen kann. Klar ist Geschwindigkeit auch ein Kriterium, nur kann man die Codegröße einfacher und direkt ermitteln, der Compiler gibt es ja ansich immer mit aus. Er zeigt aber nicht, welche Funktion wieviele Takte braucht. Leider.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.