Hallo, ich suche eine einfache und unkomplizierte IDE zur Programmierung von PIC Mikrocontrollern. C-Code rein und Hexfile raus. Am besten noch unter Debian lauffähig. Wenn es nur unter Windows läuft ist das auch nicht schlimm. Kennt da jemand was? Vielen Dank fallobst
Ich habe zum Anfange eine Demo von mikroC for PIC verwendet, bin dann aber zu MPLAB IDE mit C18 gewechselt, weil mikroC keine Quelloffenen Bibliotheken hatte, man direkt vom MPLAB aus mit dem PICkit programmieren kann und die dem von mikroC eine Codegrößenbeschränkung hat. MikroC hat aber den Vorteil für Anfänger, dass die ganzen Bibliotheken in der Hilfe gut und auch mit Beispielen dokumentiert sind und dass man die config nicht im Code eingeben muss, sondern in einem Fenster mit einigen Dropdown-Listen auswählen kann. Ob die Software unter Debian läuft habe ich keine Ahnung. Ich würde aber direkt in MPLAB einsteigen. Ich würde jetzt nicht MPLAB und C18 nehmen, sondern den Nachfolger MPLABX IDE mit dem XC8 Compiler. Hier ein Tutorial: http://pic-projekte.de/wiki/index.php?title=PIC_C_Tutorial Darin steht auch viel zu C selbst, wenn du da schon kannst, kannst du diesen Teil überspringen und dich nur mit dem PIC spezifischen Teil beschäftigen. Hier steht, dass MPLAB X IDE auch unter Linux läuft: http://www.microchip.com/pagehandler/en-us/family/mplabx/
:
Bearbeitet durch User
Nachtrag: Beim MPLAB X IDE kann man sich die configs generieren lassen.
Hier gibt es übrigens eine neue Version des PIC-Tutorials: http://pic-projekte.de/wordpress/?p=133 Scheinbar wird dort gerade das CMS System gewechselt.. Schönen Gruß, Jo
Jonas G. schrieb: > ich suche eine einfache und unkomplizierte IDE zur Programmierung von > PIC Mikrocontrollern. Mikroe C compiler. Bis 2k Codegröße for free. Funzt gut, Biblitheken und Beispiele sind praxisnah und Support ist auch ok Eine durchgängige Serie von simpel Pic bis dsPic, ARM und AVR Nachteil für dich: nur Windows, für mich: Macht süchtig weil so schön einfach
A+B = C schrieb: > > Mikroe C compiler. Bis 2k Codegröße for free. > > Funzt gut, Biblitheken und Beispiele sind praxisnah und Support ist auch > ok > > Eine durchgängige Serie von simpel Pic bis dsPic, ARM und AVR > > Nachteil für dich: nur Windows, für mich: Macht süchtig weil so schön > einfach Das Programm wirkt bis jetzt recht gut. Vor allem ist es einfach. Vielen Dank!! Kennst jemand eine Funktion, mit der man die Laufzeit des laufenden Programms ermitteln kann? Vielen Dank auch an alle anderen, die mir geantwortet haben. Auch die Varianten werde ich spätestens wenn 2k Codegröße voll sind testen.
Jonas G. schrieb: > Kennst jemand eine Funktion, mit der man die Laufzeit des > laufenden Programms ermitteln kann? Was meinst du damit? Wie lange das Programm dann auf dem PIC brauch?
Am Arduino gibt es die millis() Funktion, mit der man die Laufzeit des aktuellen Programms seit Aktivierung des Controllers auslesen kann. Das kann für Zeitmessung recht sinnoll sein. Ich suche so eine Funktion, oder eine andere Möglichkeit, Zeitmessung zwischen zwei Ereignissen zu betreiben.
:
Bearbeitet durch User
Jonas G. schrieb: > Ich suche so eine Funktion, > oder eine andere Möglichkeit, Zeitmessung zu betreiben. Beim MPLAB mit XC8 gibt es die nicht, bei microC weiß ich's nicht, ich denke aber, dass es sie nicht gibt. Wenn ich so etwas brauche, würde ich je nach erforderlicher Auflösung einen Timer z.B. jede Millisekunde überlaufen lassen und eine lange Variable (z.B. 32bit) bei jedem Überlauf incrementieren. Wenn di jetzt aber z.B. Hundertstelsekunden Messen willst würde ich nur alle 10ms ein Interrupt erzeugen lassen, um Rechenzeit zu sparen.
:
Bearbeitet durch User
Jonas G. schrieb: > Das Programm wirkt bis jetzt recht gut. Vor allem ist es einfach. Vielen > Dank!! Kennst jemand eine Funktion, mit der man die Laufzeit des > laufenden Programms ermitteln kann? F9 Drücken dann läuft der Simulator. Da kannst du dir alle Zeiten anschauen und auch einzeln durchsteppen (außer wenn die Software auf einen Eingang wartet).
Jonas G. schrieb: > Am Arduino gibt es die millis() Funktion, mit der man die Laufzeit des > aktuellen Programms seit Aktivierung des Controllers auslesen kann. Das > kann für Zeitmessung recht sinnoll sein. Ich suche so eine Funktion, > oder eine andere Möglichkeit, Zeitmessung zwischen zwei Ereignissen zu > betreiben. Du brauchst doch nur Zählerstand irgendeines Timers deiner Wahl auszulesen und vom letzten gelesenen Wert abzuziehen (bei Überlauf halt noch den Maxwert des Timers dazuaddieren). Das funzt mit jedem Controller (mit Timer natürlich). Alles andere hat Mikroe auch schon für dich erledigt http://www.mikroe.com/timer-calculator/ und nicht nur für Pic.
A+B = C schrieb: > http://www.mikroe.com/timer-calculator/ Ich wusste gar nicht, dass dafür ein Tool gibt/brauch
M. H. schrieb: > Ich wusste gar nicht, dass dafür ein Tool gibt/brauch das ist so ca. der zehnte timer calculator den ich nutze. Bei diesem tCalcer kopierst du den Beispielcode nur in den Compiler (natürlich vorzugsweise der vom Hersteller) und bist fertig. Incl Interrupt handlig und Wertegefummel / Taktfrequenz. Macht das mal mit der Hand (oder selber in C).
A+B = C schrieb: > Macht das mal mit der Hand (oder selber in C). Habe es in C und in ASM schon ein paar Mal gemacht. Wobei es in ASM einfacher ist, da ich genau weiß wie lange die Kontextsicherung braucht. Zurück zum Thema: M. H. schrieb: > Wenn ich so etwas brauche, würde ich > je nach erforderlicher Auflösung einen Timer z.B. jede Millisekunde > überlaufen lassen Man könnte auch den Timer-Prescaler dann so einstellen, dass der Timer jede Millisekunde weiterzählt und wenn das nicht möglich ist den nächst kleineren mögliche Wert verwenden. Man müsste dann nur die Überläufe mitzahlen, das verringert die CPU Belastung.
:
Bearbeitet durch User
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.