PIC18F Frage

Gast #4178451
Lesenswert?

Nabend. Ich möchte mich in die PIC18F einarbeiten (bin Anfànger). Im 
Datenblatt sind nur Assemblerbefehle zu finden, wo finde ich eine Doku 
die erklàrt wie ich den PIC18 in C (nutze C18) programmieren kann? Am 
besten von Microchip. Idealerweise beschränkt sich die doku nicht nur 
auf Pic18, aber für den Anfang würde das schon reichen.
#4178454
Lesenswert?

Von Microchip hab ich das hier gefunden: 
http://ww1.microchip.com/downloads/en/DeviceDoc/51295E.pdf
Mir haben als ich angefangen habe die Tutorials auf dieser Seite sehr 
weitergeholfen: http://pic-projekte.de

Sind C-Grundkenntnisse bereits vorhanden?

newbie schrieb:
> idealerweise beschränkt sich die doku nicht nur auf Pic18
Soweit ich weiß unterstützt der C18 ausschließlich PIC18
Gast #4178471
Lesenswert?

PICmicro MCU C®
An introduction to programming
The Microchip PIC in CCS C
By Nigel Gardner

http://www.google.ie/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CCEQFjAA&url=http%3A%2F%2Fir.nmu.org.ua%2Fbitstream%2Fhandle%2F123456789%2F110776%2F2adbe2fcfcc9b3fd758f3fac7bde709a.pdf%3Fsequence%3D1&ei=n4yMVem3O-Gy7QaY8p9I&usg=AFQjCNFve6M-jbC3u5JwZWi6BXGDLOt9-g&bvm=bv.96782255,d.ZGU&cad=rja
=========================================
Hier gibt es schoene Beginner-Lernprogramme mit Erklaerungen(siehe 
Chapter 3 und Chapter 4 in den pdf-Dateien)
Ich empfehle Dir allerdings mit MPLAB-XC8 zu arbeiten.C18 wird nicht 
mehr weiterentwickelt,dennoch tragen die Uebungsbeispiele sehr schoen 
zum Verstaendnis der PicController bei.
Microchip;
http://www.google.ie/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CCEQFjAA&url=http%3A%2F%2Fwww.cis.upenn.edu%2F~lee%2F06cse480%2Fdata%2FMPLAB_C18_Getting_Started_51295f.pdf&ei=c4-MVZXtOKKX7QbuqpbIBQ&usg=AFQjCNHgelpCY4_MPG6UgxrLC-S6sdRteg&bvm=bv.96782255,d.ZGU&cad=rja

http://www.google.ie/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CCEQFjAA&url=http%3A%2F%2Fww1.microchip.com%2Fdownloads%2Fen%2FDeviceDoc%2F51295E.pdf&ei=24-MVYLICabV7gb696_ICQ&usg=AFQjCNFMAtjw5ygu91hnoSS5yf4gUWYM-Q&bvm=bv.96782255,d.ZGU&cad=rja
=========================================
MPLAB XC8 (hab ich nur ergoogelt - nicht "getestet"
http://pic-projekte.de/wordpress/?p=133

=========================================
Solltest Du bei C18 bleiben wollen brauchst Du irgendwann auch das 
C18C-UserGuide.
http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&ved=0CCAQFjAB&url=http%3A%2F%2Fww1.microchip.com%2Fdownloads%2Fen%2FDeviceDoc%2F51288c.pdf&ei=J5SMVbPIJOPg7Qa_zo3ABQ&usg=AFQjCNFJyHmYQFBOjX65rYNor7fEM2Hdiw&bvm=bv.96782255,d.ZGU&cad=rja
#4178899
Lesenswert?

Das du C eh schon kannst musst du nur noch die PIC spezifischen Sachen 
lernen:
- Configs
- Wie man ein Register beschreibt
- Wie man die ISR schreibt...

Der Rest ist mMn fast nur noch zu Wissen was man in die Register 
schreiben muss, das wird man aber nicht in der Compiler Doku sondern im 
Datenblatt des uCs finden.
#4178907
Lesenswert?

Max H. schrieb:
> Das du C eh schon kannst musst du nur noch die PIC spezifischen Sachen
> lernen:
> - Configs
> - Wie man ein Register beschreibt
> - Wie man die ISR schreibt.

Ich stimme zu. Das sind die einzigen drei Dinge, die du über PIC18 in C 
wissen musst. Und diese sind recht schnell zusammen gefasst:
- Configs: kann man im Memory View einstellen und den ensprechenden Code 
generieren lassen.
- Register: Includiere den <xc.h> header und weise zu wie normale 
Variablen
- ISR: verwende das Keyword "interrupt" in der Funktionsdefinition

Das alles setzt natürlich voraus, dass du MplabX und XC8 verwendest.

Die Beispiele im Datenblatt sind nur zum verdeutlichen der Funktion. 
Wenn man etwas von Assembler versteht, kann man diese auch mit 
leichtigkeit nach C übersetzen.
#4178921
Lesenswert?

newbie schrieb:
> Little B. schrieb:
>> Wenn man etwas von Assembler versteht, kann man diese auch mit
>> leichtigkeit nach C übersetzen.
>
> Na dann hoffe ich, dass ich damit klar komme, denn mit Assembler habe
> ich noch nichts groß zu tun gehabt.

Dann lege ich dir das Kapitel "Instruction Set Summary" des 
PIC18-Datenblattes ans Herz. Das ist nicht gar so umfangreich und ein 
gutes Nachschlagewerk, wenn man die Befehle nicht kennt.
Gast #4179248
Lesenswert?

Das Instruction Set werde ich mir ansehen, danke für den Hinweis.

Ich habe mir das PicKit3 Debug Express Starterkit bestellt, dort sind C 
Lessons zu Timer, PWM, EEPROMusw. enthalten. Ich denke damit fahre ich 
erstmal ganz gut. Hoffentlich bin ich dann auch in der Lage auf andere 
Pic typen umzusteigen, oder ich lerne halt doch zusätzlich Assembler :-)
Gast #4179290
Lesenswert?

newbie schrieb:
> Hoffentlich bin ich dann auch in der Lage auf andere
> Pic typen umzusteigen, oder ich lerne halt doch zusätzlich Assembler :-)

Ich wuerde Dir aufjedenfall anraten auch mal kleinere Programme in 
Assembler zu schreiben.Desweiteren schaff Dir auch gleich mal 2-3 
8-beinige Pics z.B.: Pic12F1840 und 18-beinige Pic16F1827 an.Am Anfang 
ist es selten, dass man 10000 I/O-Ports braucht......
Beide Typen sind guenstig bei Reichelt zu bekommen.

Als 18F-Typen empfehle ich Dir den Pic18F2550 (auch Reichelt)
Wenn Du mal genuegend Erfahrung hast kannst Du den Pic18F2550 mit einem 
Bootloader versehen.Wie das geht und was es damit auf sich hat siehe
http://sprut.de/
http://sprut.de/electronic/pic/c/c18/c18.html
http://sprut.de/electronic/soft/usboot/usboot.htm

Happy programming.....
Gast #4179503
Lesenswert?

Spruts HP ist wirklich ne tolle Seite, ich denke ich werde die Seite 
durcharbeiten, sicher trägt das zum verständnis bei wenn ich mich auch 
mit Assembler beschäftige. Danke euch allen für die Hilfe.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren