Hallo, ich habe bisher PIC nur mit Assembler programmiert und möchte jetzt auf C umsteigen. Kann mir jemand ein gutes Buch oder ein leicht verständliches Tutorial empfehlen (Einlesen/Ausgeben von Daten, PWM, I²C, Arithmetik usw.)?? Danke
Hallo, es gab da ein Tutorial zu CC5x... doch ich rate dir ab, auf PIC16xxxx Bausteinen alles ausser einfachste Aufgaben mit C zu realisieren. Wenn du C nutzen willst, nimm lieber einen PIC18Fxxxx, die kosten mitterweile genausoviel wie die PIC16xxxx und können viel mehr. Du kannst z.b. MikroC nehmen, das ist sehr einfach für den Einstieg und hat auch bereits viele eingebaute Librarys, wenn auch mit einigen Einschränkungen auf den kleinen PIC16Fxxxx (z.b. kein sprintf) weswegen ich dir auch abrate, diese zu verwenden. Für MikroC brauchst du ansich kein Tutorial, da gibts reichlich Beispiele dabei und auch eine gute Hilfe. Bei MikroC musst du nichtmal eine Library einbinden, auch das macht der Compiler automatisch. Für LCD-Displays, PWM, Delays, Piepser, Tastaturen, I2C (inkl. Software-I2C), UART (inkl. Software-UART) und sogar USB etc.. gibts bereits fix fertige Library Funktionen. Ein Nachteil ist, dass die Demo-Version glaube ich eine Codesize-Limitierung hat, ausserdem ist er nicht ganz ANSI- kompatibel so wie viele ARM Compiler, z.b. hat gab es massive Probleme beim Einbinden einer SHA1-Library aus der Unix-Welt, das geht nicht ohne massives Umschreiben. Du kannst natürlich auch Microchips Compiler nehmen, doch ich finde MikroC zum schnellen realisieren von Ideen wesentlich einfacher und umfangreicher wegen der massiven Librarys.
Sergey schrieb: > Hallo, > > es gab da ein Tutorial zu CC5x... doch ich rate dir ab, auf > PIC16xxxx Bausteinen alles ausser einfachste Aufgaben mit C zu > realisieren. > > Wenn du C nutzen willst, nimm lieber einen PIC18Fxxxx, die kosten > mitterweile genausoviel wie die PIC16xxxx und können viel mehr. Also da kann ich zustimmen. Wenn man vor hat als Einsteiger in C zu schreiben kann gleich auf die 18F zurückgreifen. Wobei die 16F Typen natrlich auch funktionieren - bei den 6/8 Poligen Bausteinen gibt es zum beispiel glaube ich auch keine mit 18F Kern, aber wenn man die Wahl hat sind die 18F Typen besser: Schneller, Größerer Speciher, mehr Peripherie zum selben Preis! (Ich nehme fast grundsätzlich 16F wenn ich in ASM schreibe und 18F für C) Sergey schrieb: > Du kannst natürlich auch Microchips Compiler nehmen, doch ich > finde MikroC zum schnellen realisieren von Ideen wesentlich > einfacher und umfangreicher wegen der massiven Librarys. Gerade wegen den Libarys würde ich den C Compiler von Microchip nehmen. Direkt beim Download hat der nicht so viele dabei, aber es gibt eine ganze Menge bei Microchip auf der Website die man sich nachladen kann. http://www.microchip.com/SoftwareLib.aspx http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2896 Der noch gewichtigere Grund sind aber die Frameworks für USB &Co., der TCP-IP Stack usw. die alle auf den Microchip Compiler angepasst sind und es ermöglichen mit wenig Aufwand auch als Anfänger schon nach einem NAchmittag erfolge zu haben. Wegen den Beispielen: Es gibt auf der Microchip Homepage eine Menge beispiele: http://www.microchip.com/TechDoc.aspx?type=CodeExamples Allerdings würde ich als erstes mal mir die Starterkits auf der Homepage raussuchen - zu allen SKs sind die Downloads verfügbar!- Diese kannst du dir einfach runterladen. Bei vielen Starterkits sind gut dokumentierte Lernbeipiele dabei die einen einfachen Einstig ermöglichen. Wenn die HArdware des Starterkists nicht zu kompliziert ist kanns du dir die Testumgebung für die Lernbeispiele ja einfach aud Lochraster nachbauen - Alle Schaltpläne sind in den Dokus ja drin. So kann man auch ohne ein SK zu kaufen die SK Lektionen nacharbeiten. Gruß Carsten
NAchtrag: Hier noch ein Link direkt zu den Dateien eines der einfachsten Starterkits. Hier sind auch Ausdrücklich "Lesson Files" genannt. http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en538340 Gruß Carsten
Danke erstmal! Ich habe mir vor längerem ein Development-Board mit PIC18Fxxx und PICkit2 zugelegt. Wo liegt eigentlich der große Unterschied zwischen PICkit2 und ICD2 (beim debuggen??)
detlev schrieb: > ich habe bisher PIC nur mit Assembler programmiert und möchte jetzt auf > C umsteigen. Wenn du Assembler gemacht hast dann kennst du sicherlich sprut.de Ich hatte mir vorher ein normales C Buch geschnappt und hab C gemacht. http://openbook.galileocomputing.de/c_von_a_bis_z/ Hier eine Einführung für Leute die C ein bisschen beherrschen. http://www.sprut.de/electronic/pic/c/c.html http://www.sprut.de/electronic/pic/c/c18/c18.html http://www.sprut.de/electronic/pic/c/pic_c/pic_c00.html Im Grunde genommen ist es kein großer Unterschied. Man muss C beherrschen. Damit kann man die gesamte Arithmetik + Kontrollstrukuren übernehmen. Der Rest besteht auch nur darin (genau wie in Assembler) Register zu beschreiben und zu lesen. Wenn du schon asm gemacht hast, dann beherrschst du ja die Hardware vollkommen. Dann musst du nur noch C lernen. MikroC ist ein rel. einfacher für Anfänger geeigneter Compiler. Ansonsten geht's auch wie oben gelinkt mit dem C18 Compiler von Microchip.
mr. mo schrieb: > http://pic-projekte.de/pic_c.html Der Link funktioniert so nicht (mehr) Der hier funktioniert: http://pic-projekte.de/wiki/index.php?title=PIC_C_Tutorial
Naja, das http://pic-projekte.de/wiki/index.php?title=PIC_C_Tutorial ist zwar nett, aber ohne konkrete reale Beispiele bringt's nicht soviel. Besser oder ergänzend daher dies hier (englisch können wir ja alle) 1.) http://www.gooligum.com.au/tut_baseline_C.html 2.) pickit 3 debug express lessons ( Microchip 41370C.pdf ) Die .zip Datei der lessons findet man bei GOOGLE über Suche: "Software code for PICkit 3 Debug Express Lesson Files" Vgl. Beitrag "Re: PIC Programmiereinstieg" Gruss
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.