Hallo Leute,
ich kann noch immer kein 10F20x programmieren.
Mit Pickit 2 bekomme ich immer einen OSCAL Fehlermeldung,
und mit mit Pickit 3 wird kein 'Target' gefunden....
Digikey kann mir nicht helfen, und auch bei Microchip
haben die keine Ahnung von was die verkaufen, denn auch
die wissen nix.
Ist hier jemand der schonmal sowas programmiert hat,
und es mir sagen kann wie ?
Schonmal vielen Dank im voraus.
LG,
Evert
Evert D. schrieb:> Microchip> haben die keine Ahnung von was die verkaufen, denn auch> die wissen nix.
Halte ich für ein Gerücht! Zuerst solltest du mal erklären was du auf
den Chip schreiben mochtest und welches Programm du zum brennen
verwendest. Da gibbet mehrere Progs wie zb. MPLAB, MPLABX oder die Stand
allone zum PK1 o, 2.
Wenn oscal geloscht wurde, es gibt ein backup und noch ein backup des
backups im reservierten flash bereich, 104h glaube ich.
Einfach auf 12f508 umschalten und die Adresse auslesen. Programming spec
gibt bessere info.
Die Originalsoftware von Microchip wurde benutzt.
Sowohl Pickit 2 als Pickt 3 mit MPLAB können die 10F20x
Serie nicht programmieren.
Wenn etwas falsches gelöscht wurde, liegt das an die
Programmiersoftware, ich habe sowas nicht gemacht.
Ich habe nur einen HEX-Datei in die Kontroller schreiben wollen.
Mit den 16F54 läuft alles normal.
Evert
PS: Die Antworten von Homa und Udo muß ich noch nachschauen.
Evert D. schrieb:> Ist hier jemand der schonmal sowas programmiert hat,> und es mir sagen kann wie ?
Hab eben einen neuen, ungebrauchten aber angestaubten PIC10F200
testweise mit XC8 getestet.Liess sich mit Spruts Brenner problemlos
programmieren.Hab auch noch einen PIC10F206 zum testen,aber der wird
genauso funktionieren wie die anderen 10F2xx Typen auch.....
Nimm Version 2.61 von standalone pk2 SW,
Mplab hat diverse Probleme und bugs.
Achtung, vpp before vdd muss gesetzt sein und es funktioniert nur mit
5V. ZB kann es sein dass es am PC funktioniert, am Laptop nicht.
Tools Osccal Option recreate automatical. Damit funkt es dann wenn
die Programmierung abgeschmiert ist. Spannungseinbruch oder glitch nach
bulk erase bevor es komplettiert bewirken so ein abschmieren. Ansonsten
kann es zumindest die standalone SW problemlos.
Toxic schrieb:> Hab eben einen neuen, ungebrauchten aber angestaubten PIC10F200> testweise mit XC8 getestet.Liess sich mit Spruts Brenner problemlos> programmieren.Hab auch noch einen PIC10F206 zum testen,aber der wird> genauso funktionieren wie die anderen 10F2xx Typen auch.....
Sorry & peinlich aber ich muss mich korrigieren !
Mir ist beim Test ein Fehler unterlaufen(naja ist Mitternacht...).Der
PIC10F200 laesst sich mit Spruts Brenner mit meiner Konfiguration NICHT
programmieren.Es ist das erste Mal,dass ich einen PIC nicht brennen
kann.Ich habe diese 10Fxx Typen nie im Einsatz gehabt,weil sie schlicht
und einfach fuer meine Beduerfnisse zu wenig zu bieten hatten.
Hmm - mal sehen ob ich die Dinger vielleicht doch noch zum Leben
erwecken kann.
Ich hatte keine Probleme die 10F20x mit dem Sprut-Brenner zu brennen.
Konfiguration:
- Sprut-Brenner 8
- ICSP-Modus
- Anschluss am Desktop-Rechner 5V
- Programm erstellt mit Oshonsoft
- Habe in meinen Unterlagen folgende Notiz gefunden:
1
Achtung, im .ASM File die letzten Zeilen folgendermassen anpassen:
Hallo Leute,
vielen Dank für die Teilname.
Entschuldige bitte, wenn ich manchmal nicht buchstäblich auf jedes
Detail eingehe, alles wird aber gelesen und beachtet.
Ich habe nochmal nachgeschaut, die SW vom PK 2 ist die Version 2.61.
Damit ist ein 10F20x nicht programmierbar.
Damit hat auch Digikey und Microchip nicht helfen können.
Angeblich zu alt.....
Mit PK 3 bekomme ich "Target not found" also wird das Teil gar nichtmal
erkannt !
Wofür ich die kleinen Dinger gern benutzen möchte ist hauptsächlich
als Timer in Akkuladegeräten.
Also sollte es schön klein sein.
Sonnst muß ich mal sehen welchem 14 Pin Kontroller sich programmieren
läßt.
ICSP Modus ?
Könnte da den Fehler liegen ?
Wenn ich doch den Programmer richtig mit dem Kontroller verbinde,
dann muß es doch funktionieren ?
Es funzt doch auch mit dem 16F54 ?
Achja nochwas: Die Software wird geschrieben in Great Cow Basic,
und dann außer als tekst, direkt als HEX gespeichert.
Dann mit PK 2 im Kontroller geschrieben.
Mit dem 16F54 ausnahmslos fehlerfrei.
(Ausser wenn ich irgendwo ein Tappfuhler oä eingebaut habe natürlich)
In GCB gibt es ausgezeichnete warteschleifen:
Wait xx us (µsekunden)
Oder auch ms (millisekunden), s .... logisch, Sekunden
Aber auch m für Minuten und sogar h für Stunden.
Tja, probier mal eine Warteschleife von eine Stunde in Assembler
zu schreiben....
Sogar Sekunden ist dabei schon ein Problem....
Ich muß die Bilder von Toxic noch anschauen.
Jetzt
Tschüß ! Und nochmal vielen Dank für's mitdenken
Evert
LEIDER Leider hat auch das nicht funktioniert....
Wieder ein OSCAL Failure...
Auch z.B. Löschen vom Ding geht auch nicht...
Ich würde fast sagen kommt her, und ZEIG wie es geht,
weil ich es nicht hinbekomme... :-((
LG,
Evert
> Ich habe nochmal nachgeschaut, die SW vom PK 2 ist die Version 2.61.> Damit ist ein 10F20x nicht programmierbar.
Im "PK2DeviceFile" V1_63_146 ist der 10F202 mit dabei.
Ein PICKIT2 kann fast alles brennen. Sogar AVRs!
Stellersichnichsoan.
Servus,
ich konnte mal ein Programmierproblem mit dem PK3 dadurch beheben, daß
ich in den Einstellungen zum PICKit die "Target VCC" auf einen kleineren
Wert, als 5V gesetzt habe. Mit "Target VCC = 5V" keine Chance, mit 4
oder 4,5V ging es. Kann mich nicht mehr an den PIC-Typen erinnern, war
aber definitiv kein LF-Typ, also normal wäre VCC=5V schon richtig
gewesen.
Komisch.....
gerade nochmal etwas probiert auf 'n 10F204,
dann quer durch einige Fehlermeldungen und nur mal probiert.
Da hat 'n LED geblinkt mit 5 Sek an, und 5 Sek aus.
Dann denselben Datei geändert in jeweils 200 ms,
und NIX geht mehr !!
Auch nicht 'blöderweise' trotzdem probieren, obwohl fehlermeldungen,
wie vorhin.... NIX !
ES WAR DIESELBE DATEI !!!!!
NUR die Warteschleife wurde von 5 Sek auf 200 ms geändert....
Warum nur mit 10F2xx ? Beim 16F54 würde es auf anhieb funktionieren.
LG,
Evert
Den Tip mit der Versorgungsspannung hatte ich schonmal probiert.
Ändert sich hier nix...
Blööööd.....
Gibt's noch andere 8-Pin Kontrollern AUSSER diese 10F-Serie ?
Evert D. schrieb:> Gibt's noch andere 8-Pin Kontrollern AUSSER diese 10F-Serie ?
Jede Menge! Schonmal auf die Produkte-Webseite von Microchip geschaut?
Die meisten PIC12F... sind 8-Pinner, ich würde die modernen "Enhanced
Midrange" (12F1xxx) empfehlen.
> ich würde die modernen "Enhanced Midrange" (12F1xxx) empfehlen.
Der Komfortgewinn haelt sich bei den kleinen in Grenzen.
Ich wuerde die billigeren (12F675/12683/16F684) empfehlen.
(º°)·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.· schrieb im Beitrag
#4889703:
> Ich wuerde die billigeren (12F675/12683/16F684) empfehlen.
Wenn sie denn billiger wären!
z.B. (Reichelt-Preis):
12F675: 1,15 Euro
1KWord Flash, nicht selbst programmierbar (Bootloader nicht
möglich)
64 Bytes RAM
4 Mhz interner Takt
1 16-bit Timer, 1 8-bit Timer, kein PWM
keine seriellen Schnittstellen
Lahme Interrupt-Verarbeitung
12F1572: 0,95 Euro
2KWord Flash, selbstprogrammierbar (kann also Bootloader)
128 Bytes RAM
16MHz interner Takt
1 16-bit Timer, 2 8-bit Timer, 3x16 bit PWM
EUSART
Interrupt-Latenz/verarbeitung schnell durch Register-Rettung in
Hardware (und natürlich zusätzlich durch die mögliche höhere
Taktfrequenz)
uvm...
Ich habe eben nochmal versucht ein mit XC8 kompiliertes "Programm" den
PIC10F200 zu programmieren : bekomme Fehlermeldungen beim Brennen.
Hab dann eine original Assembler-Template-Datei von Microchip
verwendet.Ist leider auch fehlgeschlagen.
Moeglicherweise ist das Problem aber der Sprutbrenner selbst,da er einer
der ersten aus der ersten Generation war.
Im Anhang befindet sich die Template-datei fuer den 10f202 zum Testen.
Evert D. schrieb:> Gibt's noch andere 8-Pin Kontrollern AUSSER diese 10F-Serie ?
Wie andere schon erwaehnt haben: Microchip hat eine riesige Palette an
diversen uCs.
Es sieht so aus,als wenn es dir nur auf einen 8 pinnigen Chip ankommt.
Nimm den (enhanced)PIC12F1840 - direkter Nachfolger des PIC12F683.
Mit 4Kbyte Programmspeicher,16-fachen Hardwarestack(10Fxx haben gar
keinen...) plus reichhaltiger Peripherie ,laesst er sich auch gut in C
programmieren.
Ausserdem ist er bei Reichelt erhaeltlich....
> 12F675: 1,15 Euro
Bei Reichelt kauf ich sowas auch nicht.
Aus China im 10er Pack ca. 30 ct.
>12F1572: 0,95 Euro> 2KWord Flash, selbstprogrammierbar (kann also Bootloader)> 128 Bytes RAM> 16MHz interner Takt> 1 16-bit Timer, 2 8-bit Timer, 3x16 bit PWM> EUSART> Interrupt-Latenz/verarbeitung schnell durch Register-Rettung in>Hardware (und natürlich zusätzlich durch die mögliche höhere>Taktfrequenz)> uvm...
Fuer 30 Ct leistet der 12F675 vorzuegliches.
Ansonsten geringfuegig teurer der 12F683 (2kWord/128bytes) und
wenn die IOs nicht reichen, zum fast direkten Upgrade der 16F684.
Alle 3 gehoeren zur Midrangefamilie, sind also keine
12 bittigen Krueppel.
Mitunter braucht Mann nicht mehr.
Was ich mit der ganzen Peripherie in einem 8 pol. Gehaeuse
anfangen sollte, muesste Mann mir dann auch erklaeren.
An Bootladern habe ich ebenfalls kein Interesse.
>Evert D. schrieb:>> Ich habe nochmal nachgeschaut, die SW vom PK 2 ist die Version 2.61.>> Damit ist ein 10F20x nicht programmierbar.Beitrag "Re: Wie einen PIC 10F202 programmieren ?"
Lad Dir mal ne Lesebrille runter.
(º°)·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.· schrieb im Beitrag
#4889834:
> Was ich mit der ganzen Peripherie in einem 8 pol. Gehaeuse> anfangen sollte, muesste Mann mir dann auch erklaeren.
Ein uC ist wie eine Toolbox - also eine Werkzeugkiste.Wenn ich eine
klassische Werkzeugkiste aufmache,dann finde ich da einen
Schraubendreher,ein Zange,Bohrer und diverses anderes Gelumpe.Je mehr
ich zur Verfuegung habe desto weniger komme ich in Verlegehnheit gewisse
Arb eiten nicht durchfuehren zu koennen.
Auf einen 8-pinnigen Pin bezogen,finde ich es gut,dass der PIC12F1840
z.B. eine interne Spannungsreferenz hat.PIC12F675,683 haben keine.Ebenso
fehlen I2C und beim F675 PWMhardware.
Ich (allerdings nur ich) habe keine Lust zig verschiedene Pic-Typen auf
Lager haben zu muessen,wenn ich einen bekommen kann,der je nach Bedarf
alles zur Verfuegung hat.Als Hobbyprogrammierer kommt es mir auf 30Cent
Mehrkosten nicht an.
Ich hatte erst vor kurzem ein altes Programm fuer den Pic12F683
umschreiben muessen,weil ich eine externe Spannungsreferenz(TL431) zur
Batterieueberwachung verwendete und die mir nur einen sondern 2 von den
6 wertvollen Pins vergeudetete.Hinzu kommen andere Vorteile die z.B.der
c-programmierung entgegenkommen oder die Moeglichkeit interne
Pinbelegungen
per Software abzuaendern und,und und.....siehe Datenblatt.
> Ich (allerdings nur ich) habe keine Lust zig verschiedene Pic-Typen auf> Lager haben zu muessen,wenn ich einen bekommen kann,der je nach Bedarf> alles zur Verfuegung hat.
Alles hat der PIC12F1840 mit Sicherheit auch nicht.
Und einen knappen Euro wuerd ich fuer 8 Pinner auch nicht ausgeben.
Wozu Du nun Lust verspuerst ist mir da egal.
Die kleinen STM8 kosten die Haelfte, lassen sich per JTAG/SW
ordentlich debuggen und haben im 32er LQFP-Gehaeuse 25 IOs.
Wenn ich eine interne Referenz brauchen wuerde, wuerde ich vllt.
einen 16LF1508 nehmen. Oder eben eine externe Referenz anklemmen,
die im Regelfall auch eine bessere Spezifikation hat.
Wenn die Pins knapp werden, sind 8 Pinner sowieso schon schlecht
gewaehlt.
Ein 12F675/683/684 ist eher so die digitale Sicherheitsnadel
im Werkzeugkasten. Wenns die nicht tun, nehme ich gelassen
was groesseres.
Wenn ich 16 bit brauche, nehme ich was mit 16 bit Wortbreite.
Renesas oder TI. Wenn ich 32 bit brauche schau ich bei den ARMs,
den V850 oder...
Gleiches gilt fuer DSPs oder FPGAs.
(º°)·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.· schrieb im Beitrag
#4889950:
> Alles hat der PIC12F1840 mit Sicherheit auch nicht.
Weiter oben wusstest Du schon nicht, was "Mann" mit der Peripherie
anfangen sollte, und jetzt ist Dir nicht genug drin? Entscheide Dich
mal!
(º°)·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.· schrieb im Beitrag
#4889950:
> Die kleinen STM8 kosten die Haelfte,
gibt's aber nicht in 8-Pin DIP - um mal schnell was auf Lochraster
zusammenzulöten, ist der unbrauchbar!
(º°)·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.· schrieb im Beitrag
#4889950:
> Wenn die Pins knapp werden, sind 8 Pinner sowieso schon schlecht> gewaehlt.
Welch weise Erkenntnis! Ich wäre nie darauf gekommen, daß ein 8-Pin µC
nicht die richtige Wahl wäre, wenn ich z.B. 20 IOs brauche - danke für
die Erleuchtung, Meister!
(º°)·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.· schrieb im Beitrag
#4889950:
> Wenn ich 16 bit brauche, nehme ich was mit 16 bit Wortbreite.> Renesas oder TI. Wenn ich 32 bit brauche schau ich bei den ARMs,> den V850 oder...> Gleiches gilt fuer DSPs oder FPGAs.
Du scheinst ein ausgefuchster Profi zu sein.Ich dagegen bin nur
Hobbyprogrammierer.Ich bin zwar mit verschiedenen uC Architekturen
vertraut(man liest ja so allerhand im dollen Internet) aber ich schaffe
es nicht (und will es auch gar nicht) auf mehreren Gaeulen gleichzeitig
zu reiten,da bei mir ansonstem unter anderem die Zuverlaessigkeit meiner
Projekte leiden wuerde.
Einem Profi wie dir wuerde ich nie das Wasser reichen koennen - Hut ab
was deine Vielseitigkeit und dein Koennen angeht.
Evert D. schrieb:> Achja nochwas: Die Software wird geschrieben in Great Cow Basic,> (...)> In GCB gibt es ausgezeichnete warteschleifen:>> Wait xx us (µsekunden)> Oder auch ms (millisekunden), s .... logisch, Sekunden> Aber auch m für Minuten und sogar h für Stunden.
Wenn du ein Problem mit der Programmierung von Delays in Assembler hast,
dann benutze doch einen Code-Generator.
z.B.:
http://www.piclist.com/techref/piclist/codegen/delay.htm
Beispiel: Delay für eine Stunde.
1
; Delay = 3600 seconds
2
; Clock frequency = 4 MHz
3
4
; Actual delay = 3600 seconds = 3600000000 cycles
5
; Error = 0 %
6
7
cblock
8
d1
9
d2
10
d3
11
d4
12
endc
13
14
;3599999998 cycles
15
movlw 0xFF
16
movwf d1
17
movlw 0x84
18
movwf d2
19
movlw 0xD8
20
movwf d3
21
movlw 0x18
22
movwf d4
23
Delay_0
24
decfsz d1, f
25
goto $+2
26
decfsz d2, f
27
goto $+2
28
decfsz d3, f
29
goto $+2
30
decfsz d4, f
31
goto Delay_0
32
33
;2 cycles
34
goto $+1
Deine „Großartige symbolische Kuh-Allzweck-Programmiersprache für
Anfänger“ macht auch nichts anderes.
John schrieb:> Beispiel: Delay für eine Stunde.> ; Delay = 3600 seconds> ; Clock frequency = 4 MHz>> ; Actual delay = 3600 seconds = 3600000000 cycles
'tschuldige, aber das stimmt nicht.
Bei 4 MHz sind es pro Sekunde schon 4.000.000 cycles
Und das 3600 mal.
Macht zusammen 14.400.000.000 cycles
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