mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik C-Tutorial für PIC


Autor: detlev (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Sergey (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: mr. mo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Carsten Sch. (dg3ycs)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?IdcServic...

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

Autor: Carsten Sch. (dg3ycs)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?IdcServic...

Gruß
Carsten

Autor: detlev (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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??)

Autor: Lehrmann Michael (ubimbo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Sammy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Erich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.