Forum: Mikrocontroller und Digitale Elektronik PIC18F Device ID auslesen


von Bad U. (bad_urban)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

seit kurzem habe ich mich mal ein wenig mit den PICs beschäftigt. 
Speziell dem PIC18F46K80.
Hat auch alles soweit funktioniert. Eine gewisse "Umgewöhnungszeit" 
brauchts natürlich schon und ich bin auch erstmal in einige Fallen 
getappt.

Bis jetzt hab ich mal UART, Timer und CCP-Module in Betrieb genommen.
Als nächstes wollte ich mal versuchen die Device ID und Rev im Programm 
auszulesen. Dabei komme ich aber nicht wirklich weiter.
Hab da schon einiges gegoogled. Gefunden habe ich die Funktion 
devide_id_read().

Die gibt es aber im aktuellen XC8 nicht mehr. Bin aber blöd drauf 
reingefallen. In der XC8 Doku von 2013 war sie noch drin. Auch die 
Autovervollständigung schlägt sie noch vor. Da hab ich wie blöde den 
Fehler gesucht...

Ich bin dann auch auf folgendes Beispiel gestoßen:
http://www.microchip.com/forums/m508293.aspx
Das funktioniert bei mir leider auch nicht. Dann bricht der Compiler mit 
der angehängten Fehlermeldung ab. Leider werde ich daraus auch nicht 
schlauer...
Die Beiträge sind ja auch schon älter und MC scheint ja gerne auch mal 
was zu verändern oder wegzulassen.

Deshalb meine Frage an Euch, ob Ihr mir da vielleicht etwas auf die 
Sprünge helfen könnt.

Grüße

PS: Ich verwende MPLAB X 2.00 und XC8 1.3 auf einem Win 8 64 Bit System.

PPS: Am Anfang hatte ich auch arge Probleme mit Comodo auf dem PC. Wenn 
der Code in Ordnung war hat alles einwandfrei compiliert. Aber bei 
Fehlern kam nur ein Abbruch und keine detailierte Fehlermeldung wo etwas 
nicht passt. Hat mich auch einige Zeit gekostet herauszufinden, dass es 
an Comodo liegt :-(
Bei den Versuchen jetzt hatt ich Comodo aber deaktiviert. Da muss ich 
mich auch nochmal mit den Einstellungen vertraut machen...

: Bearbeitet durch User
von Max H. (hartl192)


Lesenswert?

Im Kapitel 7 des Datenblattes ist beschrieben, wie man Daten aus dem 
Flash liest. Die Device ID ist auch im Flash, Adresse 3FFFFE und 3FFFFF.

von Bad U. (bad_urban)


Lesenswert?

So, nach ein wenig weiter rumprobieren hats geklappt. Vielleicht 
interessierts ja noch jemanden woran es lag.
Es war wirklich die Compilerversion. Das verlinkte Beispiel war für den 
C16. Beim XC8 gibts den Qualifier "ROM" nicht mehr. Da wird alles was 
"CONST" deklariert ist in den Flash gepackt.

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
Noch kein Account? Hier anmelden.