PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Anfängerproblem mit PIC18F4525



Spartacus
03.08.2005, 15:28
Hallo zusammen

Hab da so meine Probleme mit dem Programmieren von PICs. Und zwar hab
ich ein Projekt erstellt und den untenstehende Code hinzugefügt. Nur kommt da immer diese Fehlermeldung:

-Found directive in column 1. (list)
-Processor superseded by command line. Verify processor symbol.
-MESSAGE: (Processor-header file mismatch. Verify selected processor.)
-Found directive in column 1. (end)

Mein Code:


list p=18f4525
#include <p18f4525.inc>

end

Kann mir jemand sagen was ich falsch mache?
Gruss Sparta

the_Ghost666
03.08.2005, 17:56
jo, und zwar folgendes:
die found directive treten dann auf, wenn du einen befehl in die erste spalte schreibst, mach einfach ein tab davor und das problem ist weg.
schwieriger wirds mit dem processor superseded. mit dem befehl sagst du ja, welcher prozessor gewählt wird, versuch mal in mplab unter configuration, select device den selben proz einzustellen. damit sollte sich dann auch das nächste problem lösen, dass er die falsche inc benutzt.

Spartacus
04.08.2005, 09:31
Jo danke funktioniert nun Alles prima!

the_Ghost666
04.08.2005, 11:51
bitteschön
was solls denn werden, als anfänger direkt nen pic 18 zu nehmen find ich ungewöhnlich

04.08.2005, 16:20
Noch nichts direktes. Hab früher auf dem Infeon 80C537 Assembler programmiert und nun wollte ich es mal auf dem PIC probieren. Der Unterschied von einem 16er zu einem 18er ist ja nicht gross ausser ein paar mehr I/Os und so weiter. Oder liege ich da falsch?

gunzelg
04.08.2005, 18:24
Hallo Gast

hast recht, lieber gleich einen "gescheiten" PIC. Die PIC18 sind auch für C-Programmierung besser geeignet als die PIC16 und auch nicht viel teurer.

gerhard

the_Ghost666
05.08.2005, 10:12
C programmierung stimmt, mehr speicher haben sie auch, meistens mehr i/os, mehr interruptquellen, mehr assembler befehle, mehr timer, hardware multiplikation, ausgereiftere hardwaremodule und höhere taktraten. die frage ist nur, ob man das alles braucht für nen 8bit prozessor. deswegen meine frage. wenn man komplizierte berechnungen machen muss, dann lohnt es sich sicher. aber für einfache anwendungen wie ich sie in diesem forum oft sehe, reicht n pic16. den gibts auch schon mit 40 und mehr pins.

Spartacus
05.08.2005, 19:00
Ich hab eben nur ein Brenner für den pic18 oder besser gesagt er ist in bearbeitung. Darum habe ich mich für den pic18 entschieden.

the_Ghost666
05.08.2005, 20:55
was ist das denn für ein brenner? denn eigentlich kannst du alle pics die ICSP können mit solchen brenner brennen. also auch alle möglichen anderen PIC16F. die benutzen das selbe prinzip.
weißte schon was du vor hast? was drauß werden soll?

Spartacus
06.08.2005, 15:11
Ist ist eigendlich mehr so ein Entwicklungssystem. Sieh mal rein: http://www.elektor.de/Default.aspx?tabid=27&year=2005&month=-1&art=73030&PN=On

Meine Idee war mal eine kleine Wetterstation zu verwirklichen. Temperaturmessung, Windrichtung, Windstärke und Niederschlag. Was heisst denn eigendlich ICSP? Ich weiss nur dass es für In-Circuit Serial Programming steht aber was bedeutet das?

Sparta

gunzelg
06.08.2005, 16:09
Das heißt, dass du das IC in der Schaltung programmierst, also nicht herausnehmen und in einen Programmer stecken brauchst.

Gerhard

the_Ghost666
07.08.2005, 11:15
richtig, du brauchst nur 5 pins inkl masse und 5v und 2 besondere pins. es hat den vorteil, dass du den ic nicht entfernen musst, bei smd controllern gehts garnicht anders. bequemer ists auch, weil du ne fertige schaltung immerwieder leicht updaten kannst, ohne den controller zu entfernen und in den brenner einzulegen. Es sind ein paar punkte beim design der platine zu beachten aber das wars auch schon. und wenn du nen neueren pic in nen brenner legst, ists auch nichts anderes.
und durch die fast identische schnittstelle kannst du auch nen debugger anschließen.

Spartacus
08.08.2005, 17:34
Hab mal auf dem Datenblatt nachgeschaut, wie die Pins so heissen:
-programming enable pin
-prgramming clock pin
-programming data pin

In dem Fall könnte ich ja einen kleinen Adapter für den PIC16 basteln, den ich auf mein PIC18-Board stecken kann. Müsste dann ja theoretisch nur eben diese 5 Pins richtig verbinden.

Sparta

the_Ghost666
09.08.2005, 08:53
ich überleg gerade wie du es meinst, nen pic16 mit deinem demoboard zu verwenden oder nen pic16 damit zu programmieren?

Spartacus
09.08.2005, 18:50
Meine Idee war es, einen PIC16 darauf zu programmieren. Aber auch einen PIC16 darauf zu verwenden sollte kein grosses Problem darstellen.

Sparta

the_Ghost666
10.08.2005, 09:11
naja, du hast doch nur einen ICSP Anschluss, keinen ICSP Brenner. Dh es würd das gleiche bringen, wenn du eine Adapterplatine für diese platine baust, oder wenn du einfach einen IC sockel nimmst und die Pins passend verkabelst und ne Stiftleiste dran machst. Das wär sogar die einfacherere alternative, weil du dann nichtmehr an dem fertigen Demoboard rumdoktorn musst. Und die meisten pic16 haben kein PLCC Gehäuse.
Ich hab bei reichelt gestöbert und den 16F877 ( Bestnr. PIC 16F877-20L )
gefunden. Das ist mein LieblingsPIC16, weil er ne menge IOs und Hardwaremodule hat. Das ist auch der mit dem meisten Speicher dieser Variante. kostet 7,25. Das Datenblatt sagt mir, dass die ICSP PINS an nr 2 ,43 und 44 liegen, plus vdd und vss an 12 und 35 bzw 13 und 34. Kannst ja mal schaun ob das so stimmt. Bis auf die Hardwaremodule ist es sehr wahrscheinlich, dass der PIC16F877 Pinkompatibel ist.

10.08.2005, 20:13
Nicht ganz. Die ICSP-Pins liegen an 23, 24 und 25. Die positive Speisung liegt an Pin 7, 8, 28, 29 und Ground liegt an 6, 30 und 31.

Spartacus
10.08.2005, 20:16
Hopla! Hab mich schon wieder vergessen anzumelden #-o Also der Post oben ist von mir.

Sparta

the_Ghost666
10.08.2005, 20:42
ok, das ist natürlich blöd