Hi
Ich hab mir grade ein MPLAB PIC24F starter kit gekauft und wollte mal
fragen ob einer ein gutes deutsches Tutorial für die Programmierung von
dem Teil kennt weil ich damit irgendwie nich klar komme.
danke
ich werf mal meine Runenstäbe.
Ahh, sie sagen mir Du stehst auf unpräzise Fragen ;)
Daher ordne ich Dich als völlig unwissenden in Sachen µC ein :P
gugst Du hier
http://www.sprut.de/electronic/pic/index.htm
rausch88 schrieb:> Hi> Ich hab mir grade ein MPLAB PIC24F starter kit gekauft und wollte mal> fragen ob einer ein gutes deutsches Tutorial für die Programmierung von> dem Teil kennt weil ich damit irgendwie nich klar komme.> danke
Ich hätte mir das Starterkit nicht gekauft, weil ich überhaupt keine
PICs mag, cih programmiere mit Atmegas.
bongo schrieb:>> Ich hätte mir das Starterkit nicht gekauft, weil ich überhaupt keine> PICs mag, cih programmiere mit Atmegas.
Da sage ich nur selber Schuld...
@TE
Mit deutschem Tutorial für die 24er PICS wird es leider etwas schwer.
Die Mikrocontrollerwelt spricht oberhalb der Anfängerebene einfach nur
Englisch. Und die 16Bit Pics wie die PIC24 sind nicht gerade die
Typischen Einsteigerprozessoren.
(Wobei ich da eh die Schwerpunkte anders legen würde. Entweder mit
8Bittern wie den 16F oder moderner den 18F für einfache Sachen
einsteigen oder direkt für Leistungshungrige Anwendungen auf die
32Bitter wie PIC32 oder ARM7/Cortex-M3 setzen)
Für die 16F/18F gibt es ja genau wie für die AVR einige deutsche Tuts.
Damit können dann selbst so typen wie oben zurechtkommen.
FAlls du einsteiger bist würde ich die ersten Schritte mit diesen
Baustenen sammeln. WEnn du mit Assembler anfangenwillst nimm 16F, Für
Einstieg mit C 18F...
Wenn di eGrundlagen sitzen fällt auch das verstehen der Englischen Tuts
sofort deutlich leichter - Nichts ist nerviger als wenn man neben der
anderen Sprache auch noch mit unbekannten Begriffen in der anderen
Sprache zu kämpfen hat.
Gruß
Carsten
bingo schrieb:>> gugst Du hier>> http://www.sprut.de/electronic/pic/index.htm>> Brille nötig ??? PIC24 ???
dauerrausch schrieb im Beitrag #2191349:
> Du kaufst den Scheiß ohne zu wissen, wie du ihn benutzt und hältst dich> für intelligent genug, ein Tutorial zu verstehen? Vergiss es.Carsten Sch. schrieb:> Für die 16F/18F gibt es ja genau wie für die AVR einige deutsche Tuts.> Damit können dann selbst so typen wie oben zurechtkommen.> FAlls du einsteiger bist würde ich die ersten Schritte mit diesen> Baustenen sammeln. WEnn du mit Assembler anfangenwillst nimm 16F, Für> Einstieg mit C 18F...
Hab's Dir doch gleich gesagt:
Manfred John schrieb:> Daher ordne ich Dich als völlig unwissenden in Sachen µC ein :P> gugst Du hier> http://www.sprut.de/electronic/pic/index.htm
Besser ist das.
bongo schrieb:> Ich hätte mir das Starterkit nicht gekauft, weil ich überhaupt keine> PICs mag, cih programmiere mit Atmegas.
Wen zum Henker interessiert das? Boa, ich hasse solche Leute -.-
Ich schließe mich aber Carsten an.
dauerrausch schrieb im Beitrag #2191349:
> Hier sind zwei Links, um das Teil für ein paar Cent weiterzuverkaufen:
Das würd ich allerdings nicht machen, vielleicht war es auch nur ein
Scherz. Wenn du irgendwann die 8bitter beherrscht und die an die
16bit/32bit trauen willst, hast du schon gleich ein PIC, den du benutzen
kannst. Doch wie schon erwähnt, zum Einstieg lieber ein 16F oder 18F
PIC.
naja, mit den 24er zu beginnen geht einigermassen, jedoch bei der art
und weise der fragestellung etc. hätte ich auch erstmals mit den 18er
begonnen (um himmels willen: wer empfielt heute noch mit den 16er zu
beginnen!?!). nun denn, hier ein tutorial, das du auch für viele sachen
bei den 24er brauchen kannst: http://www.pic-projekte.de/
ich empfehle dir, ein sehr einfaches, lauffähiges demoprogramm
(blinklicht?) abzuändern anstatt von null her selbst ein programm zu
schreiben - die configs der PIC24 haben es in sich für einen anfänger.
Master Snowman schrieb:> ich empfehle dir, ein sehr einfaches, lauffähiges demoprogramm> (blinklicht?) abzuändern anstatt von null her selbst ein programm zu> schreiben - die configs der PIC24 haben es in sich für einen anfänger.
Deshalb würde ich sagen, erstmal mit einem 8bitter anfangen. Ein paar
Zeilen ändern kann ja fast jeder. Lieber mit Simplen Settings und
geringer Hardware (16F) anfangen und alles von Grund auf zu
programmieren -> zu lernen. Ich denke, solange man nicht die Uralten 16F
nimmt, find ich kein Kriterium, dass für einen Anfänger relevant ist.
Höhstens das Bank-Switching, da weiß ich grad nich, wie es beim 18F
aussieht. Aber mit C jucken die Bänke auch nicht mehr, da das ja
automatisch gewechselt wird.
Wenn die 16F's so wenig Existensberechtigung haben, warum gabs innerhalb
vom letzten Jahr mehrere neue PICs und werden auch noch 16F's entwickelt
(16F17xx)? Für simple Schaltaufgaben, Interfacekram reichen die doch
völlig aus und sind billiger. Aber jeder wie er will.
Hallo Rausch88,
ich versuche jetzt mal einen eher konstruktiven Beitrag zu leisten.
Ich finde es einfach für den A..... wenn hier Leute schreiben selbst
Schuld hättest Du dir besser einen Atmel gekauft.
Ich habe auch mal mit dem PIC24 angefangen und außerhalb des
Deutschsprachigen Raums ist der Pic sehr verbreitet. Wenn Du Probleme
mit englisch hast, stehst Du wirklich vor einem Problem.
Hilfe Bekommst Du hier http://www.fernando-heitor.de/ das größte
deutsche Forum.
Als Buch kann ich nur "Learn to flight the Pic24" empfehlen obwohl es in
Englisch ist, ich glaube es ist eines der besten Bücher für Pic 24.
Zwischenzeitlich programmiere ich auch nur noch Atmel da man hier
einfach überall deutschsprachige Unterstützung bekommt.
Viele Grüße
Hi,
18F Pics haben dieses BANK Switching nicht mehr und im allgemeinen auch
mehr RAM.
Aber dennoch: Es wird um die Bankumschaltung immer ein Wirbel gemacht...
OK - daran muss man denken, aber sonderlich schwer ist es nicht. Das hat
damals bei mir als Einsteiger keine zwei Stunden gedauert bis ich das
kapiert hatte. Und JA- es ist eine zusätzliche Stolperfalle bei de
rProgrammierung -neben vielen anderen die von den diversen µCs diverser
Hersteller geboten werden. Aber wenn man das einmal weiß dann weiß man
welche Fehler dadurch hervorgerufen werden und man hat das im Blick.
Die 16er PICs haben etwas über 30 ASM Befehle und die größeren davon
ungefähr diese ZAhl an Special Function register. Die kleineren deutlich
weniger. Da ist es kein Kunststück sich ebend die wenigen Befehle und
register zu merken die ein wechsel auf Bank eins nötig machen...
Die 16F Pics habe ich aufgeführt weil die meisten davon noch sehr
übersichtlich sind und auch die meisten Tuts noch auf diesen beruhen.
WEnn man vorhat mit Assembler anzufangen sind die wirklich nicht
schlecht dafür. 16F628A oder 16F88 wären da mein Vorschlag.
Vom 16F84 sollte man aber schon abstand halten, der ist wirklich nicht
mehr up to date. KAnn fast nichts und ist als Auslaufmodell sehr teuer.
Viele 18F finde ich da für einen Einsteiger schon zu
"Funktionsüberladen" mit teilweise vierfach belegten IOs und wechselnden
Konfigurationen usw. usf.
Bei einem Einsteiger der direkt mit C loslegen will sieht es etwas
anders aus. Da sind die 18F schon ganz in Ordnung. Da ist man ja nicht
mehr so nah an der HArdware und mit den 18ern kann man die möglichkeiten
von C auch richtig ausspielen. Zudem sind die meisten interessanten
Demos auch mitlerweile auf C und 18F Pics ausgelegt (USB, Ethernet usw.)
Ich würde einem Einsteiger der das wirklich lernen will folgendes
Nahelegen:
Erste Schritte mit Assembler auf einem einfacheren 16F, z.B. 16F628A.
Bauvorschläge für Experimentierboards gibt es genug im Netz, kosten so
um 5Eur. für Material.
Damit eignet man sich das Verständniss an wie das ganze überhaupt
funktioniert, -wie so ein µC überhaupt tickt-.
Hat man das einigermaßen verstanden (ich meiner wirklich nur verstehen,
NICHT perfekt beherrschen) und einige einfache Dinge realisiert wie
Lauflicht, reaktion auf Tastendruck, AD Wandlung und evtl. ein einfaches
TExt LCD angesprochen, dann Wechsel auf die 18F Serie und C.
Damit beginnt man dann die Umfangreichen Programme zu schreiben. REicht
die Leistung der 18F irgendwann nicht mehr aus so kann man auf PIC24,
PIC32 oder dsPIC umsteigen. Die Programmierhardware und auch die IDE ist
ja immer die selbe! PICs in allen Varianten mit der tollsten Peripherie
sidn fast überall günstig zu bekommen.
Natürlich kann man auch direkt mit C auf 18F einsteigen. ICh würde aber
vermuten das man sich eine lange Zeit beim erlernen neuer Dinge immer
wieder etwas schwerer tun wird als derjenige der die 7-14 Tage mehr für
den Einstieg weiter unten investiert hat.
Gruß
Carsten
> (um himmels willen: wer empfielt heute noch mit den 16er zu beginnen!?!)
Die haben durchaus ihre Existenzberechtigung, z.B. gibt es keine 18er in
kleinen Gehäusen, die kleinsten haben 18 Pins. Die 12er habe alle 8
Pins, 16er gibt es ab 14 Pins.
Wer gleich mit den 18ern anfängt, dem fällt das Downsizing auf die 16er
dann unendlich schwer, andersherum geht es viel leichter.
Da die neueren 16er einen extra Befehl für das Bankswitching haben, ist
es zweckmässig, das über ein Macro zu machen. Ich habe das schon immer
so gemacht:
alt:
1
bank0 macro
2
bcf STATUS, RP0 ; Bank 0
3
bcf STATUS, RP1
4
endm
5
6
bank1 macro
7
bsf STATUS, RP0 ; Bank 1
8
bcf STATUS, RP1
9
endm
neu:
1
bank0 macro
2
movlb 0x00 ; Bank 0
3
endm
4
5
bank1 macro
6
movlb 0x01 ; Bank 1
7
endm
im Programm dann einfach nur bank0, bank 1 etc, dann muss ich beim
portieren von vorhandenem Code nur die Registernamen ändern und das
Macro am Anfang (und evtl. die Bank-Nr, falls sich die geändert hat).
Stefan Rau schrieb:> Flowcode ist übrigens auch noch eine gangbare Lösung um mit einem Pic zu> Arbeiten.>> http://www.elektor.de/products/e-blocks/flowcode-%...>> Ich habe das auch mal probiert, für einfache Sachen gut, schwierig, wenn> die Problemstellungen komplexer werden.
Teurer Spaß für 235€
und ob's wirklich Spaß mach möchte ich hier mal stark bezweifeln.
BANKSEL gibt es auch schon lange und ist auch nur ein Compiler-Macro. Es
befreit einen natürlich davor, nachzudenken und nachzuschauen, auf
welcher Bank das Register sitzt. Man muss dann aber vor jeden
Register-Aufruf das BANKSEL-Macro setzen (auch wenn sich an der Bank gar
nichts ändert, aber das weiss man ja nicht, weil man nicht mehr
nachsieht) und das macht den Code letztendlich länger.