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: |
2 | |
3 | oscillator calibration value |
4 | org 0x0ff |
5 | movlw 0x0c |
6 | configuration Word settings |
7 | org 0x1ff |
8 | dw 0x0feb |
Gruss Chregu
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
So sollte das Programm aussehen. Das läuft auf dem Chip ohne Probleme
1 | #chip 10F202,4
|
2 | #config OSC=INTRC, WDTE=OFF
|
3 | |
4 | dir GPIO out |
5 | ' none specified in the example. All byte variables are defined upon use. |
6 | Do Forever |
7 | |
8 | ' toggle the first bit - this equates to GPIO.0 |
9 | set GPIO.0 on |
10 | |
11 | 'Then wait after the pin goes off |
12 | Wait 500 ms |
13 | set GPIO.0 off |
14 | wait 500 ms |
15 | |
16 | Loop
|
Hey Udo ! DAS ist aber schön, das kann ich buchstäblich übernehmen zum testen. Ich melde mich später nochmal. Ganz vielen Dank ! LG, 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
Wie oben schon geschrieben, benutze ich diesen Brenner. Sollte aber mit anderen auch gehen.
Kannst ja mal die HEX Datei versuchen zu brennen. Vielleicht tut sich ja was.
> 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.
P.S.: Ein PICKIT2 kann auch den OSCCAL neu kalibrieren! Auch hier: 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...
Na, dann nächste Woche mal die anderen probieren. Vielen Dank soweit ! LG, Evert
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....
hinz schrieb: > http://www.microchip.com/forums/m112296.aspx Evert D. schrieb: > Ich habe nochmal nachgeschaut, die SW vom PK 2 ist die Version 2.61. > Damit ist ein 10F20x nicht programmierbar. ? http://ww1.microchip.com/downloads/en/DeviceDoc/PICkit%202%20Readme%20v2-61-00%20%28a%29.txt
1 | Release Notes for PICkit(R) 2 Microcontroller Programmer |
2 | PICkit 2 V2.61.00 |
3 | Device File V1.61.00 |
4 | |
5 | *** Important |
6 | *** PICkit 2 software v2.61.00 requires PICkit 2 OS firmware |
7 | *** Version 2.32.00 before the application will work correctly. |
8 | *** Use the "Download PICkit 2 Firmware" selection on the |
9 | *** Tools dropdown menu. The new OS is normally located at |
10 | *** C:\Program Files\Microchip\PICkit 2 v2\PK2V023200.hex |
11 | |
12 | 24 March 2009 |
13 | ----------------------------------------------------------------- |
14 | Table of Contents |
15 | ----------------------------------------------------------------- |
16 | 1. Device Support List |
1 | .... |
2 | |
3 | Baseline Devices |
4 | ---------------- |
5 | PIC10F200 PIC10F202 PIC10F204 PIC10F206 |
6 | PIC10F220 PIC10F222 |
7 | PIC12F508 PIC12F509 PIC12F510 PIC12F519 |
8 | PIC16F505 PIC16F506 PIC16F526 |
9 | PIC16F54 PIC16F57 PIC16F59 |
10 | |
11 | .... |
> 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
Lesen sollte man. Es heisst clock frequency, nicht instruction cycle frequency. Bei pic sind es bei 4mhz OSC 1 Million instruction cycle je Sekunde.
Das hat man nun davon, dieses kompliziertes Assembler. In GCB wäre es Wait 1 h gewesen.... ;-)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.