Hallo Leute, bevor ich mir einen Wolf suche und nachdem ich in uralten Links gewühlt habe. Gibt es eine Empfehlung für eine Programmieroberfläche/Entwicklungsumgebung für PIC10XYZ ? Arduino scheint wohl leider nicht zu gehen. Viele Grüße Harry
Harry R. schrieb: > Programmieroberfläche/Entwicklungsumgebung > für PIC10XYZ ? Arduino scheint wohl leider nicht zu gehen. MPLABX sollte dir eigentlich ein Begriff sein: https://www.microchip.com/en-us/tools-resources/develop/mplab-x-ide#
Toxic schrieb: > MPLABX sollte dir eigentlich ein Begriff sein Anhang zeigt PIC10F202 mit free C-Compiler XC8....hier bei mir allerdings unter Win10 - duerfte unter Linux genauso aussehen
Toxic schrieb: > Toxic schrieb: >> MPLABX sollte dir eigentlich ein Begriff sein > > Anhang zeigt PIC10F202 mit free C-Compiler XC8....hier bei mir > allerdings unter Win10 - duerfte unter Linux genauso aussehen MPLABX ist im Begriff mir ein Begriff zu werden ;-) Danke für die Hilfe, bin gerade beim Download. Grüßle Harry
Harry R. schrieb: > bin gerade beim Download. Ich weiss ja nicht was du vorhast.Wenn du generell mit PIC arbeiten willst benoetigst du auch einen Programmer wie z.B. diesen chinesischen Clone https://www.ebay.de/itm/233195785273?hash=item364b8d4c39:g:wZkAAOSwy8JcsDON Dieser Clone funktioniert hier bei mir.Da die Chinesen eifrig kopiert haben,haben sie allerdings auch einen kleinen "Bug" von Microchip mitkopiert.Dies ist aber kein grosses Problem - man muss lediglich bei einem eventuellen Nichterkennen eines PICs die Betriebsspannung softwaremaessig abaendern- statt 5V z.B. 4.75V unter einem Menuepunkt.Darauf gehe ich jetzt aber nicht ein weil ich nicht weiss ob du schoen einen Programmer hast.Ausserdem kann man sich das "Problem" auch ergoogeln... Ich habe meinen PICkit3 noch fuer ca. 12€ bekommen - jetzt zahlst du das 3-fache....vielleicht mal nachsehen was die Originalware kostet.Standard ist momentan PicKit4 Solltest du bestellen,dann waehle die Option mit Adapter.
Toxic schrieb: > Harry R. schrieb: >> bin gerade beim Download. > > Ich weiss ja nicht was du vorhast.Wenn du generell mit PIC arbeiten > willst benoetigst du auch einen Programmer wie z.B. diesen chinesischen > Clone > > https://www.ebay.de/itm/233195785273?hash=item364b8d4c39:g:wZkAAOSwy8JcsDON > > Dieser Clone funktioniert hier bei mir.Da die Chinesen eifrig kopiert > haben,haben sie allerdings auch einen kleinen "Bug" von Microchip > mitkopiert.Dies ist aber kein grosses Problem - man muss lediglich bei > einem eventuellen Nichterkennen eines PICs die Betriebsspannung > softwaremaessig abaendern- statt 5V z.B. 4.75V unter einem > Menuepunkt.Darauf gehe ich jetzt aber nicht ein weil ich nicht weiss ob > du schoen einen Programmer hast.Ausserdem kann man sich das "Problem" > auch ergoogeln... > Ich habe meinen PICkit3 noch fuer ca. 12€ bekommen - jetzt zahlst du das > 3-fache....vielleicht mal nachsehen was die Originalware kostet.Standard > ist momentan PicKit4 > Solltest du bestellen,dann waehle die Option mit Adapter. Witzig :-) Installiert habe ich das ganze jetzt, sieht unter Linux/Ubuntu ähnlich aus wie bei dir ... und jetzt wäre die Frage nach dem Programmer gekommen .. ist also schon beantwortet. Gibt es in MPLABX so etwas wie HelloWorld-Beispiele um den Einstieg anhand von simplen Testprogrammen schneller zu schaffen ? So, jetzt habe ich mir den von dir vorgeschlagenen Link mal zu Gemüte geführt. Teuer, aber wahrscheinlich ist Putin und/oder Corona daran auch mal wieder schuld. Leider gibt der Gebrauchtmark wenig her. In der Beschreibung steht (betreffend 10FXX): "The seat supports the following programming microcontroller: PIC16/18XX 40PIN Series devices (except 16F59) PIC16/18XX 28PIN Series devices (except 16F57) PIC16/18XX 18PIN Series devices The PIC 8PIN/14PIN/20PIN family of devices (except 10FXX)" <----- Weiter unten aber : " ..... Supported Devices Refer to MPLAB IDE v8.76, the following devices are supported: PIC10F PIC10F200, PIC10F202, PIC10F204, PIC10F206, PIC10F220, PIC10F222 PIC12F PIC12F508, PIC12F509, PIC12F510, PIC12F519, PIC12F609, PIC12HV609, PIC12F615, PIC12FHV615PIC12F629, PIC12F635, PIC12F675, PIC12F683 ...." Geht der PIC10F202 jetzt oder nicht ? Grüßle Harry
Ich habe diesen China-PicKit3, läuft bei mir auch mit 10F... und 10LF... und dazu ein Breakout mit 40pol Textool-Sockel. Ich programmiere allerdings noch auf einem alten Win7 in einer VM, MPLAB X war mir zu gross. Das Photo zeigt einen PICF10F322 als Watchdog, ein 100nF ist noch auf der Unterseite direkt zwischen Pin 2 und 5 und ein paar Kupferlackdrähte.
Harry R. schrieb: > Geht der PIC10F202 jetzt oder nicht ? Beziehen sich die Angaben nicht auf den Programmiersockel? Ganz schön teuer geworden die PICkit3 Clones. Da würde ich darüber nachdenken ein original SNAP anzuschaffen. https://de.farnell.com/microchip/pg164100/in-circuit-debugger-einrast-mcu/dp/2915518?st=maplab+snap Ist mehr oder weniger ein PICkit4, aber ohne Gehäuse und ohne die Möglichkeit Power für das Zielsystem bereit zu stellen. https://microchipdeveloper.com/hwtools:compare Dafür kann man damit wesentlich mehr Controllertypen programmieren und debuggen.
:
Bearbeitet durch User
Volker S. schrieb: > Harry R. schrieb: >> Geht der PIC10F202 jetzt oder nicht ? > > Beziehen sich die Angaben nicht auf den Programmiersockel? > > Ganz schön teuer geworden die PICkit3 Clones. > Da würde ich darüber nachdenken ein original SNAP anzuschaffen. > https://de.farnell.com/microchip/pg164100/in-circuit-debugger-einrast-mcu/dp/2915518?st=maplab+snap > > Ist mehr oder weniger ein PICkit4, aber ohne Gehäuse und ohne die > Möglichkeit Power für das Zielsystem bereit zu stellen. > https://microchipdeveloper.com/hwtools:compare > Dafür kann man damit wesentlich mehr Controllertypen programmieren und > debuggen. Ja, günstig ist das alles nicht, bei Farnell sind wir am Ende mit Versand bei 50€, da muss ich mal drüber nachdenken, ob ich wirklich die Luxus-Version brauche. Danke erst mal für eure Unterstützung !! Grüßle
vboxuser schrieb: > Ich habe diesen China-PicKit3, läuft bei mir auch mit 10F... und 10LF... > und dazu ein Breakout mit 40pol Textool-Sockel. > > Ich programmiere allerdings noch auf einem alten Win7 in einer VM, MPLAB > X war mir zu gross. Das Photo zeigt einen PICF10F322 als Watchdog, ein > 100nF ist noch auf der Unterseite direkt zwischen Pin 2 und 5 und ein > paar Kupferlackdrähte. Sieht ja schon etwas wackelig aus :-) Im Laufe der Jahre bin ich zur Auffassung gekommen, dass manches günstiger selbst zu machen ist, aber die Zeit, die man dafür benötigt auch betrachtet werden muss. Das Breakout wäre günstiger, aber der Zeitfaktor (für mich) zu hoch. Grüßle PS.: Probiere doch mal LINUX, WIN7 ist auch nicht mehr unbedingt das Gelbe vom Ei.
Harry R. schrieb: > Leider gibt der Gebrauchtmark wenig her. In der > Beschreibung steht Gilt fuer den Adapter - hat nichts mit dem PicKit zu tun Harry R. schrieb: > Geht der PIC10F202 jetzt oder nicht ? Der Anhang in meinem frueheren Posting zeigt ja,dass der PIC10F202 von MPLABX unterstuetzt wird Harry R. schrieb: > PIC10F Statt PIC10F haetten sie schreiben sollen PIC10Fxxxx Ich hatte mir fuer den Adapter eine pdf erstellt um schnell erkennen zu koennen wie ich einen PIC einzusetzen habe und wie die Jumper zu setzen sind. Falls du die pdf verwenden willst - siehe Anhang Ich habe bisher nur eine begrenzte Anzahl von PICs verwendet.Der PIC10F war nicht mit dabei.... Beachte auch:Die meisten Formuser hier sind Atmel-Freaks.Da gibt es fuer dich nur wenig Unterstuetzung.PICs sind fuer die ein rotes Tuch weil die ja zwar in Massen produziert und verwendet werden und deswegen auch so unheimlich schlecht sind ;-) Harry R. schrieb: > Gibt es in MPLABX so etwas wie HelloWorld-Beispiele Nein, aber dafuer gibt es Microchip Videos auf YouTube... Schau dir die Links weiter unten auf dieser Webseite an https://www.microchip.com/forums/m456291.aspx
Harry R. schrieb: > Ja, günstig ist das alles nicht, bei Farnell sind wir am Ende mit > Versand bei > 50€ Ja leider. In der Vergleichstabelle stehen noch 15$ von früher. Es gab die sogar bei Farnell bei einer Promo-Aktion für unter 10€ pro Stück. Damals hatte ich gleich so viele gekauft, dass auch noch der Versand kostenlos war.
Volker S. schrieb: > Harry R. schrieb: >> Ja, günstig ist das alles nicht, bei Farnell sind wir am Ende mit >> Versand bei > 50€ > > Ja leider. In der Vergleichstabelle stehen noch 15$ von früher. > Es gab die sogar bei Farnell bei einer Promo-Aktion für unter 10€ pro > Stück. Damals hatte ich gleich so viele gekauft, dass auch noch der > Versand kostenlos war. Dann hast du doch sicher einen übrig, oder ? :-))))
Toxic schrieb: > Schau dir die Links weiter unten auf dieser Webseite an > https://www.microchip.com/forums/m456291.aspx Das erinnert mich an die Gooligum Tutorials. Fand ich damals wirklich gut, scheint aber nicht mehr aktiv zu sein ;-) Das alte Material liegt noch auf Github. Wird nicht mehr ganz so aktuell sein, aber in den Baseline Lessons wurde auch ein 10F2.. benutzt. https://github.com/gooligumelec/PIC-tutorials/blob/main/Baseline_C.zip
Toxic schrieb: > Harry R. schrieb: >> Leider gibt der Gebrauchtmark wenig her. In der >> Beschreibung steht > > Gilt fuer den Adapter - hat nichts mit dem PicKit zu tun Okay .. wird also funzen. > Harry R. schrieb: >> Geht der PIC10F202 jetzt oder nicht ? > > Der Anhang in meinem frueheren Posting zeigt ja,dass der PIC10F202 von > MPLABX unterstuetzt wird > > Harry R. schrieb: >> PIC10F > > Statt PIC10F haetten sie schreiben sollen PIC10Fxxxx > > Ich hatte mir fuer den Adapter eine pdf erstellt um schnell erkennen zu > koennen wie ich einen PIC einzusetzen habe und wie die Jumper zu setzen > sind. > Falls du die pdf verwenden willst - siehe Anhang Wird gleich herunter geladen. > Ich habe bisher nur eine begrenzte Anzahl von PICs verwendet.Der PIC10F > war nicht mit dabei.... > Beachte auch:Die meisten Formuser hier sind Atmel-Freaks.Da gibt es fuer > dich nur wenig Unterstuetzung.PICs sind fuer die ein rotes Tuch weil die > ja zwar in Massen produziert und verwendet werden und deswegen auch so > unheimlich schlecht sind ;-) Mir ist das egal, Hauptsache ich bekomme das hin, was ich plane, da bin ich sehr pragmatisch :-) > Harry R. schrieb: >> Gibt es in MPLABX so etwas wie HelloWorld-Beispiele > > Nein, aber dafuer gibt es Microchip Videos auf YouTube... Ich mag Tutorials auf Youtube, in diesem Fall fände ich Code als Textdatei (wie beim Arduino) besser. > Schau dir die Links weiter unten auf dieser Webseite an > https://www.microchip.com/forums/m456291.aspx Mach' ich, jetzt ist aber erst mal Schluss für heute. So long
Volker S. schrieb: > Toxic schrieb: >> Schau dir die Links weiter unten auf dieser Webseite an >> https://www.microchip.com/forums/m456291.aspx > > Das erinnert mich an die Gooligum Tutorials. > Fand ich damals wirklich gut, scheint aber nicht mehr aktiv zu sein ;-) > > Das alte Material liegt noch auf Github. Wird nicht mehr ganz so aktuell > sein, aber in den Baseline Lessons wurde auch ein 10F2.. benutzt. > https://github.com/gooligumelec/PIC-tutorials/blob/main/Baseline_C.zip Lang lebe gooligumelec, was auch immer das bedeutet ;-) Sehr guter Link ! Grüßle und Ciao
:
Bearbeitet durch User
Harry R. schrieb: > PS.: Probiere doch mal LINUX, WIN7 ist auch nicht mehr unbedingt das > Gelbe vom Ei. Lesen bildet: vboxuser schrieb: > Ich programmiere allerdings noch auf einem alten Win7 in einer VM Weisst Du, was eine VM ist?
Volker S. schrieb: > Das erinnert mich an die Gooligum Tutorials. Kenn ich noch.Damals konnte man die Tutorials noch frei downloaden.Irgendwann war es kostenpflichtig. Hab noch ein komplette Sammlung der damaligen pdfs - alles zusammengefasst als einzelne pdf-datei: 15MByte..... Wenn der TO Interesse hat ,kann ich es hier hochladen Aber ehrlich gesagt:das Internet ist voll mit Tutorials. Hier ist ein nettes Video von Microchip fuer Beginner(war frueher auf YouTube jetzt aber auf Microchip intern verlagert - weiss nicht warum...) https://www.microchip.com/webinars.microchip.com/WebinarDetails.aspx?dDocName=en556253 beim obigen Link auf "View" (weiter unten)klicken um das Video zu sehen Die Stimme ist sympathisch und der Inhalt gut auf Anfaenger abgestimmt.Wie schon gesagt:es gibt genuegend Microchip "Webinar"-Videos und Microchip Minutes-Episodes.Alle kommen auf den Punkt und laufen nicht wie die Katze um den heissen Brei herum.Zudem sind sie kurz gehalten was auch Atmeluser davon abhalten sollte einzuschlafen....Ja! auch Atmeluser koennen sich sowas ansehen-man muss sich nur spezifische PIC-Details wegdenken.Ich lese auch gerne Infos in Atmel-Datenblaettern und uebernehme zuweilen Code den ich halt auf Pic umstricken muss.PIC-Atmel-Debatten sind mir zuwider....
vboxuser schrieb: > Harry R. schrieb: >> PS.: Probiere doch mal LINUX, WIN7 ist auch nicht mehr unbedingt das >> Gelbe vom Ei. > > Lesen bildet: Dann bin ich sehr gebildet :-) > vboxuser schrieb: >> Ich programmiere allerdings noch auf einem alten Win7 in einer VM > > Weisst Du, was eine VM ist? Windows bleibt Windows ob in einer VM oder nicht. Was ist denn dein Host-OS ? Grüßle
Toxic schrieb: > Volker S. schrieb: >> Das erinnert mich an die Gooligum Tutorials. > > Kenn ich noch.Damals konnte man die Tutorials noch frei > downloaden.Irgendwann war es kostenpflichtig. > Hab noch ein komplette Sammlung der damaligen pdfs - alles > zusammengefasst als einzelne pdf-datei: 15MByte..... > Wenn der TO Interesse hat ,kann ich es hier hochladen Ich melde hiermit Interesse an :-) > Aber ehrlich gesagt:das Internet ist voll mit Tutorials. > > Hier ist ein nettes Video von Microchip fuer Beginner(war frueher auf > YouTube jetzt aber auf Microchip intern verlagert - weiss nicht > warum...) > > https://www.microchip.com/webinars.microchip.com/WebinarDetails.aspx?dDocName=en556253 > > beim obigen Link auf "View" (weiter unten)klicken um das Video zu sehen > > Die Stimme ist sympathisch und der Inhalt gut auf Anfaenger > ... Ich finde die meisten Tutorials etwas langatmig, aber mal reinschauen um mir das Gegenteil beweisen zu lassen werde ich natürlich. Grüßle
Harry R. schrieb: > für PIC10XYZ ? Falls wirklich so kleine PICs verwendet werden sollen, würde ich einen 10F3xx empfehlen. Heißt zwar auch PIC10, ist aber eigentlich eine Klasse höher als die 200er. (Midrange vs. Baseleine) Fast gleicher Preis, scheller, mehr RAM, mehr Timer, ADC, mehr Peripherie... Ein Demoboard incl. Sourcecode gäbe es auch. https://www.microchip.com/en-us/development-tool/AC103011 Der "Userguide" ist allerdings ein Witz. Kannst ja mal rein schauen. Vllt. nichts für absolute Anfänger ;-) Das Demoprogramm lässt sich aber auf jeden Fall noch mit aktuellem MPLABX und XC8 problemlos erstellen.
Volker S. schrieb: > Harry R. schrieb: >> für PIC10XYZ ? > > Falls wirklich so kleine PICs verwendet werden sollen, > würde ich einen 10F3xx empfehlen. > Heißt zwar auch PIC10, ist aber eigentlich eine Klasse höher als die > 200er. > (Midrange vs. Baseleine) Du musst mich als Anfänger sehen, der im Moment genau eine Anwendungsmöglichkeit für einen PIC10XYZ sieht und dafür ist er (wahrscheinlich) optimal geeignet. Ob ich danach weiterer Projekte finde .. wer weiß, wenn ich dann angefixt bin ... Grüßle Harry
Harry R. schrieb: > PIC10XYZ sieht und dafür ist er > (wahrscheinlich) optimal geeignet. Ich muss "vloki" recht geben.Diese Mini-ucs wuerde ich mir selbst nicht antun wollen -ausser es handelt sich um ein Projekt wo man einen kleinen uc im 6 pin-SOT23-Gehaeuse moechte.Ich halte ihn fuer einen Anfaenger nicht geeignet,da man schnell an Grenzen stoesst wie z.B. zu wenig Datenspeicher,kaum Stack und keine zusaetzliche Peripherie wie A/D-Wandler.Diese uCs haben ihre Berechtigung - besser als jeder Timer555 etc aber nicht geignet fuer Spielereien. Ich wurde eher einen PIC12F1840 oder neueren Typ verwenden.Ich mache hardwaremaessig nur kleine Projekte die man schnell auf Lochrasterplatinen aufbauen kann - Hauptaugenmerk liegt dabei auf der Software... Es ist ein Fehler zu denken,dass "groessere" uCs schwieriger zu handhaben sind.Die Groesseren haben einfach mehr interne Peripherie und man muss - wie bei allen uCs gleich in der Initialisierung darauf achten,dass das Modul mit dem arbeiten moechte auch aktiviert ist. Diese Initialisierung ist teilweise etwas zeitraubend,weil man nicht umhin kommt das Datenblatt durchzugehen.Ein mini-uC ohne Peripherie - naja:da braucht man gar nix zu tun. Ich selbst mache alles manuell aber es gibt von Microchip ein Add-On welches man innerhalb der IDE MPLABX downloaden kann.Dieses Add-/on gibt dir grafisch die Moeglichkeit Pin-Zuweisungen zu machen ode bestimmte Peripherie zu aktivieren oder deaktivieren ohne auf das Datenblatt zurueckgreifen zu muessen. Das Add-ON heisst MCC - Microchip Code Configurator Geh auf Tools/PlugIns download. Beachte aber: die PIC12F2xx sind aeltere uCs die noch nicht von MCC unterstuetzt werden! Ist aber auch nicht notwendig bei Null Peripherie ;-) Es gibt da uebrigens auch ein Arduino Plugin - sehe ich gerade.....
Toxic schrieb: > Harry R. schrieb: >> PIC10XYZ sieht und dafür ist er >> (wahrscheinlich) optimal geeignet. > > Ich muss "vloki" recht geben.Diese Mini-ucs wuerde ich mir selbst nicht > antun wollen -ausser es handelt sich um ein Projekt wo man einen kleinen > uc im 6 pin-SOT23-Gehaeuse moechte.Ich halte ihn fuer einen Anfaenger > nicht geeignet,da man schnell an Grenzen stoesst wie z.B. zu wenig > Datenspeicher,kaum Stack und keine zusaetzliche Peripherie wie > A/D-Wandler.Diese uCs haben ihre Berechtigung - besser als jeder > Timer555 etc aber nicht geignet fuer Spielereien. > Ich wurde eher einen PIC12F1840 oder neueren Typ verwenden.Ich mache > hardwaremaessig nur kleine Projekte die man schnell auf > Lochrasterplatinen aufbauen kann - Hauptaugenmerk liegt dabei auf der > Software... Ja, du magst recht haben, ich weiß aber ziemlich genau, dass mein Mini-Projekt auf einem PIC10F220 laufen wird, denn mein "Vorbild/Denkanstoß" läuft eben auf diesem PIC. Die "Änderung/Verbesserung", die ich implementieren will, ist minimal, aber für mich entscheidend. Und sie wird im C-Code vielleicht 5 Zeilen mehr benötigen. BTW, kann man sich HexCode eines PIC in die Entwicklungsumgebung transferieren ? Sagen wir mal zum ReverseEnginering. > Es ist ein Fehler zu denken,dass "groessere" uCs schwieriger zu > handhaben sind.Die Groesseren haben einfach mehr interne Peripherie und > man muss - wie bei allen uCs gleich in der Initialisierung darauf > achten,dass das Modul mit dem arbeiten moechte auch aktiviert ist. > Diese Initialisierung ist teilweise etwas zeitraubend,weil man nicht > umhin kommt das Datenblatt durchzugehen.Ein mini-uC ohne Peripherie - > naja:da braucht man gar nix zu tun. > Ich selbst mache alles manuell aber es gibt von Microchip ein Add-On > welches man innerhalb der IDE MPLABX downloaden kann.Dieses Add-/on gibt > dir grafisch die Moeglichkeit Pin-Zuweisungen zu machen ode bestimmte > Peripherie zu aktivieren oder deaktivieren ohne auf das Datenblatt > zurueckgreifen zu muessen. > > Das Add-ON heisst MCC - Microchip Code Configurator > Geh auf Tools/PlugIns download. Das war/ist bereits (per default?) installiert :-) > Beachte aber: die PIC12F2xx sind aeltere uCs die noch nicht von MCC > unterstuetzt werden! Ist aber auch nicht notwendig bei Null Peripherie > ;-) > > Es gibt da uebrigens auch ein Arduino Plugin - sehe ich gerade..... Was genau macht dieses PPlugin ? Danke und Grüße Harry
Harry R. schrieb: > BTW, kann man sich HexCode eines PIC in die Entwicklungsumgebung > transferieren? Sagen wir mal zum Reverse Enginering. An den Quelltext kommst du so nicht ran! Aber das Ding hat nur 384 Bytes Programmspeicher, das sind nur max. 256 Instruktionen, die überhaupt in den Flash passen (12-Bit Instruktionen). Mit einem Disassembler + etwas Ahnung vom PIC10F Assembler Code + Architektur sollte man das hinbekommen. Das Datenblatt ist hier: https://ww1.microchip.com/downloads/aemDocuments/documents/OTH/ProductDocuments/DataSheets/40001270F.pdf Hat nur 88 Seiten, dabei ist der Befehlssatz mit dabei. Sind nur 33 mögliche Instruktionen. Ist doch auch mal nett, wenn ein µC in weniger als 100 Seiten komplett erklärt wird. Ach ja: Da der 10F220 ja nur für 256 Instruktionen Platz hat, kann es sein, dass a) der ursprünglich sogar in Assembler programmiert wurde und es aber b) keinen Platz für deine zusätzlichen 5 Instruktionen gibt. Dann schau dir mal den 10F222 an.
2⁵ schrieb: > Harry R. schrieb: >> BTW, kann man sich HexCode eines PIC in die Entwicklungsumgebung >> transferieren? Sagen wir mal zum Reverse Enginering. > > An den Quelltext kommst du so nicht ran! Aber das Ding hat nur 384 Bytes > Programmspeicher, das sind nur max. 256 Instruktionen, die überhaupt in > den Flash passen (12-Bit Instruktionen). Mit einem Disassembler + etwas > Ahnung vom PIC10F Assembler Code + Architektur sollte man das > hinbekommen. War nur ein Versuch :-) Manchmal gibt es ja doch mehr als man vorher vermutet hat. Dissassemblieren werde ich nicht. > Das Datenblatt ist hier: > https://ww1.microchip.com/downloads/aemDocuments/documents/OTH/ProductDocuments/DataSheets/40001270F.pdf > Hat nur 88 Seiten, dabei ist der Befehlssatz mit dabei. Sind nur 33 > mögliche Instruktionen. Ist doch auch mal nett, wenn ein µC in weniger > als 100 Seiten komplett erklärt wird. > > Ach ja: Da der 10F220 ja nur für 256 Instruktionen Platz hat, kann es > sein, dass a) der ursprünglich sogar in Assembler programmiert wurde und > es aber b) keinen Platz für deine zusätzlichen 5 Instruktionen gibt. > Dann schau dir mal den 10F222 an. Sorry, ich meinte den 10F202 :-| Also,hüstel, Assembler ist nicht so meine "Lieblingssprache", "C" ist meine bevorzugte Wahl ... Grüßle
Harry R. schrieb: > Also,hüstel, Assembler ist nicht so meine "Lieblingssprache", "C" ist > meine bevorzugte Wahl... Der 12F202 Flash hat halt max für 512 Instruktionen Platz. Das Datenblatt ist hier: https://ww1.microchip.com/downloads/aemDocuments/documents/OTH/ProductDocuments/DataSheets/40001239F.pdf Wenn du den original Quellcode nicht hast muss du entweder Disassemblieren oder halt ohne Quelltext "einfach" :-) die Funktion des µC nachprogrammieren. Was willst du denn machen?
Harry R. schrieb: > Was genau macht dieses Plugin ? Lies selbst.... Wenn du im PlugIn-Manager ein PlugIn anklickst bekommst du nebendran gleich eine kurze Information Das PlugIn ist von einer Community also - Microchip-Freaks :-) und offensichtlich abgesegnet von Microchip
Einen Disassembler gibts z.B. hier: http://www.hagi-online.org/picmicro/picdisasm.html Kannst ja mal probieren, wenn du eine HEX bzw BIN Datei des Programms hast.
2⁵ schrieb: > Harry R. schrieb: >> Also,hüstel, Assembler ist nicht so meine "Lieblingssprache", "C" ist >> meine bevorzugte Wahl... > > Der 12F202 Flash hat halt max für 512 Instruktionen Platz. Das > Datenblatt ist hier: > https://ww1.microchip.com/downloads/aemDocuments/documents/OTH/ProductDocuments/DataSheets/40001239F.pdf > > Wenn du den original Quellcode nicht hast muss du entweder > Disassemblieren oder halt ohne Quelltext "einfach" :-) die Funktion des > µC nachprogrammieren. > Was willst du denn machen? Primitiver PseudoCode: Init Start: Schalter gedrückt (incl. Entprellroutine)? JA: interner Status wird gesetzt. Abhängig vom Status wird in 2 von 3 GPIO eine 1 geschrieben. Es wird ein wenig gewartet. In 2 von 3 GPIO eine 0 geschrieben NEIN: Gehe zu Start Eigentlich fast nicht erwähnenswert :-) Grüßle
Toxic schrieb: > Harry R. schrieb: >> Was genau macht dieses Plugin ? > > Lies selbst.... > Wenn du im PlugIn-Manager ein PlugIn anklickst bekommst du nebendran > gleich eine kurze Information > Das PlugIn ist von einer Community also - Microchip-Freaks :-) und > offensichtlich abgesegnet von Microchip Also Arduino Debugging mit der Brust durchs Auge :-) Grüßle HHarry
Toxic schrieb: > wuerde ich mir selbst nicht > antun Die PIC10 haben Begrenzungen. Ein STM32F4 hat auch Begrenzungen. Brauche ich viele IOs, Speicher etc. pp. nehme ich keinen PIC10. Brauche ich ein wenig glue Logic ist der PIC10 super. Ich habe die schon als NE555 eingesetzt, PWM Timer mit Up / Down Tasten + Entprellung und allerhand schnickschnack. Die können irre viel für die Größe.
Max M. schrieb: > Ich habe die schon als NE555 eingesetzt, PWM Timer mit Up / Down Tasten > + Entprellung und allerhand schnickschnack. Hab ja nichts gegen diese Dinger.Sind auf ihre Art und Weise schon genial.Aber ich komme meist ohne A/D-wandler und Encoder nicht aus... Mit 8 Pins (2 davon +/-) kann man schon einiges anfangen.
Harry R. schrieb: > Init > Start: > Schalter gedrückt (incl. Entprellroutine)? > JA: > interner Status wird gesetzt. > Abhängig vom Status wird in 2 von 3 GPIO eine 1 geschrieben. > Es wird ein wenig gewartet. > In 2 von 3 GPIO eine 0 geschrieben > NEIN: > Gehe zu Start Hm... wird der Status auch mal gelöscht? Läuft hier eine Endlosschleife? Man kann auch den µC schlafen legen und bei einem GPIO Change (Datenblatt 5.1) ihn wieder aufwachen lassen. Ist das ganze Batterie betrieben?
2⁵ schrieb: > Harry R. schrieb: >> Init >> Start: >> Schalter gedrückt (incl. Entprellroutine)? >> JA: >> interner Status wird gesetzt. >> Abhängig vom Status wird in 2 von 3 GPIO eine 1 geschrieben. >> Es wird ein wenig gewartet. >> In 2 von 3 GPIO eine 0 geschrieben >> NEIN: >> Gehe zu Start > > Hm... wird der Status auch mal gelöscht? Läuft hier eine Endlosschleife? > Man kann auch den µC schlafen legen und bei einem GPIO Change > (Datenblatt 5.1) ihn wieder aufwachen lassen. Ist das ganze Batterie > betrieben? Das Ganze läuft in einer Endlosschleife. Schlafen legen wäre eine Option, aber da mit Netzteil betrieben gibt es quasi keine Notwendigkeit zu sparen, das wäre dann eher ein Goodie on top. Der Status ist AN oder AUS und der wird bei jedes Mal in "JA:" neu gesetzt (Toggle). Apropos, so viel verrate ich noch, ich steuere ein bistabiles Relais an, da spare ich dann gegenüber einem "normalen" (monostabil ?) Relais im Laufe der Zeit eine Menge Halte-Strom. Grüßle Harry PS.: Unter Umständen/wahrscheinlich ist sogar die Entprellroutine obsolet (wg. NE555, der einen Schwellwert-Schalter vor dem In-GPIO implementieren wird)
So, ich habe mich jetzt eingelesen, Tutorials angeschaut, alles installiert, was zu einer guten Entwicklungsumgebung gehört. Die erste Enttäuschung ist, dass der MCC den PIC10F202 nicht (mehr) unterstützt. Das zweite - größerer - Problem ist, dass alle Tutorials die ich bisher gefunden habe ziemlich alt, wenn nicht sogar outDatet sind. Code-Schnipsel sind nicht compilierbar, Erklärungen zum MPLAB greifen nicht, da sehr alte Versionen im Spiel sind. Ich habe natürlich die aktuelle v6.05. Was ich bisher nicht gefunden habe, ist eine kurze und knackige Referenz für den XC8-Compiler (Vorbild ist dafür immer die JAVA-Referenz von Oracle, das hat Substanz und bringt weiter !). Vielleicht ist hier jemand, der Erbarmen mit mir und meiner flachen Lernkurve hat und mir mit ein paar Zeilen Code etwas Anschubhilfe leistet !? Ich habe ein neues Projekt in MPLAB erstellt. Dafür habe ich das Template "PIC 10 C Template" verwendet. Ich dachte eigentlich, dass dann auch die Header-Dateien gleich mitkonfiguriert sind. Sind sie aber nicht (leider). Also habe ich xc.h durch Konfiguration des Pfades (hier: /share/microchip/xc8/v2.40/pic/include) "sichtbar" gemacht, aber : Warnung : unresolved includes inside <xc.h> #include <xc.h> Übersetzen lässt es sich dennoch, kein Wunder, das Template ist natürlich nahezu Code-frei :-) Folgende Dinge sind noch ungeklärt. Die drei GPIO sind unterteilt in 3x Schreiben, einmal lesen. So würde ich es auch lassen. Also gibt es da nichts zu implementieren, oder ? Ich möchte erst mal ohne sleep-Modus auskommen. _sleep(100) ist ein unresolved identifier, was muss ich includieren ? Ich möchte aus einem GPIO lesen (in eine Variable) und die anderern drei beschreiben. Kann mir bitte jemand die Funktionsaufrufe dafür zeigen ? Danke und Grüße Harry
Harry R. schrieb: > _sleep(100) ist ein unresolved identifier, was muss ich includieren ? sleep() ist ein Macro der den uC in den Schlafmodus versetzt. Das Macro uebernimmt keine Parameter.Was willst du mit dem Parameter "100" bezwecken? MPLAB XC8 C Compiler User's Guide for PIC: https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&ved=2ahUKEwjiqp_GyOD8AhXUHcAKHU7jAlgQFnoECAsQAQ&url=https%3A%2F%2Fww1.microchip.com%2Fdownloads%2Fen%2FDeviceDoc%2F50002737C%2520XC8%2520C%2520Compiler%2520UG%2520for%2520PIC.pdf&usg=AOvVaw1Sg-JKnZl7f1AOvRaaTywt ==================================== Synopsis #include <xc.h> SLEEP(); Description This macro is used to put the device into a low-power standby mode. Example #include <xc.h> extern void init(void); void main (void) { init(); /* enable peripherals/interrupts */ while(1) SLEEP(); /* save power while nothing happening */ } Harry R. schrieb: > Sind sie aber nicht (leider). Also habe ich xc.h durch Konfiguration des > Pfades (hier: /share/microchip/xc8/v2.40/pic/include) "sichtbar" > gemacht, aber : Kann dem nicht ganz folgen: Hast du meienn geposteten Screenshot in einer meiner ersten Postings gesehen?Da hab ich mehr oder weniger fuer das Projekt "Harry" ein Template erstellt. Du siehst dort 3 pragma- und eine include(xc.h)-Zeile. Diese Zeilen habe nicht manuell eingetippt sonder mir von MPLABX automatisch erstellen lassen Rechts unten im Bild man noch markierten Code.Den habe ich einfach kpoiert und in eine neu erstellte "leere" xyz.c Datei eingefuegt und wie du siehst alles sichtbar....Bei einem groesseren Pic haettest du ein ganzen Rattenschwanz von pragma--Zeilen.In der Regel muss man dann nur die pragma-Zeilen aendern wo der Watchdogtimer,Oscillator und noch irgendsoein Osterhase sitzt den man konfigurieren muss. Fuer die automatische Codegenerierung geht man auf "Produktion/Set Configurationbits.Danach heisst es nur noch kopieren und Einfuegen....
Toxic schrieb: > Ich selbst mache alles manuell aber es gibt von Microchip ein Add-On > welches man innerhalb der IDE MPLABX downloaden kann.Dieses Add-/on gibt > dir grafisch die Moeglichkeit Pin-Zuweisungen zu machen ode bestimmte > Peripherie zu aktivieren oder deaktivieren ohne auf das Datenblatt > zurueckgreifen zu muessen. > > Das Add-ON heisst MCC - Microchip Code Configurator > Geh auf Tools/PlugIns download. > Beachte aber: die PIC12F2xx sind aeltere uCs die noch nicht von MCC > unterstuetzt werden! Ist aber auch nicht notwendig bei Null Peripherie > ;-) > For the Record : PIC10F2XX wird auch nicht unterstützt :-)
Harry R. schrieb: > Die erste Enttäuschung ist, dass der MCC den PIC10F202 nicht (mehr) > unterstützt. Was willst Du denn bei dem Zwerg automatisch an Code Konfigurieren lassen? Der ist so lütt und hat so wenig Speicher das man den selbst in ASM noch ganz gut versorgen kann.
Max M. schrieb: > Harry R. schrieb: >> Die erste Enttäuschung ist, dass der MCC den PIC10F202 nicht (mehr) >> unterstützt. > > Was willst Du denn bei dem Zwerg automatisch an Code Konfigurieren > lassen? > Der ist so lütt und hat so wenig Speicher das man den selbst in ASM noch > ganz gut versorgen kann. Naja, wurde mir empfohlen, also teste ich das auch :-)
Toxic schrieb: > Harry R. schrieb: > SLEEP(); > Description > This macro is used to put the device into a low-power standby mode. > Example > #include <xc.h> > extern void init(void); > void > main (void) > { > init(); /* enable peripherals/interrupts */ > > while(1) > SLEEP(); /* save power while nothing happening */ > } > > Harry R. schrieb: >> Sind sie aber nicht (leider). Also habe ich xc.h durch Konfiguration des >> Pfades (hier: /share/microchip/xc8/v2.40/pic/include) "sichtbar" >> gemacht, aber : > > Kann dem nicht ganz folgen: > Hast du meienn geposteten Screenshot in einer meiner ersten Postings > gesehen?Da hab ich mehr oder weniger fuer das Projekt "Harry" ein > Template erstellt. > Du siehst dort 3 pragma- und eine include(xc.h)-Zeile. > Diese Zeilen habe nicht manuell eingetippt sonder mir von MPLABX > automatisch erstellen lassen > Rechts unten im Bild man noch markierten Code.Den habe ich einfach > kpoiert und in eine neu erstellte "leere" xyz.c Datei eingefuegt und wie > du siehst alles sichtbar....Bei einem groesseren Pic haettest du ein > ganzen Rattenschwanz von pragma--Zeilen.In der Regel muss man dann nur > die pragma-Zeilen aendern wo der Watchdogtimer,Oscillator und noch > irgendsoein Osterhase sitzt den man konfigurieren muss. > > Fuer die automatische Codegenerierung geht man auf "Produktion/Set > Configurationbits.Danach heisst es nur noch kopieren und Einfuegen.... So weit wie von dir beschrieben bin ich auch gekommen. Jetzt brauche ich nur die entsprechenden Lücken aufzufüllen: Wie lese ich aus einem GPIO ? Wie schreibe ich rein ? Ich habe mal einen Screenshot angehängt, da sieht man, wo es noch fehlt und ich Hilfe brauche. Grüßle & Danke Harry
Harry R. schrieb: > Wie lese ich aus einem GPIO ? > Wie schreibe ich rein ? Das DB ist Dein Freund. Les es doch einfach mal. _delay_ms & _delay_us erzeugen irgendwo Code den Du nicht auf dem Zettel hast. Du hast bei den Pic10 keinen Platz für opulente Spielereien.
Max M. schrieb: > Was willst Du denn bei dem Zwerg automatisch an Code Konfigurieren > lassen? Oszillator, IO Pins, Timmer.... OK mehr hat das ja leider nicht. Aber wie so nicht.... Weil da keiner mit C drauf los geht?!* Wäre es wenigstens der 204/206er, die hätten noch Kommaoperatoren drin. So'n Ein 10F2xxer sieht doch lächerlich, neben so nen 555er aus. ;D *) Ich :DDD
Harry R. schrieb: > Ich möchte aus einem GPIO lesen (in eine Variable) und die anderern > drei beschreiben. > > Kann mir bitte jemand die Funktionsaufrufe dafür zeigen ? Dafür braucht man doch keine Funktionen :D Harry R. schrieb: > Ich habe mal einen Screenshot angehängt, JA, sehr mühsam das jetzt abzutippen. Poste doch lieber den Code oder am besten das gezippte Projekt. In MPLABX gibt es da im Kontextmenü des Projektes ein "Package"
:
Bearbeitet durch User
Harry R. schrieb: >> Das Add-ON heisst MCC - Microchip Code Configurator >> Geh auf Tools/PlugIns download. >> Beachte aber: die PIC12F2xx sind aeltere uCs die noch nicht von MCC >> unterstuetzt werden! Ist aber auch nicht notwendig bei Null Peripherie >> ;-) >> > For the Record : PIC10F2XX wird auch nicht unterstützt :-) Ja, war bestimmt nur ein Tippfehler. 12F2... gibt es gar nicht ;-)
Teo D. schrieb: > weil da keiner mit C drauf los geht?!* Wie Du weist ist die Zeit lange vorbei als man so lütte Dinger nur in ASM vernünftig beackern konnte. C ist völlig okay. Funktionen einbinden von denen man nicht weiß wieviel Code die erzeugen, kann aber schnell zu Problemen führen bei 512B ROM und 24B SRAM. Und die paar Register sind doch schnell ohne MCC gesetzt und gelesen. > So'n Ein 10F2xxer sieht doch lächerlich, neben so nen 555er aus. ;D Neben wäre auch am Ziel vorbei. Der PIC10 ersetzt ja den 555 + eine Handvoll Beschaltung und ist dabei multifunktional und ISP. Dagegen sieht der 555 wirklich lächerlich aus. Der 555 hat den Vorteil das er nicht progarmmiert werden muss. Ich habe bestimmt 10K PIC10F eingesetzt. Fertig programmiert von MC auf Reel. Das war Gold wert als wir einen späten Änderungswunsch noch nachträglich beim Kunden über ISP nachrüsten konnten. Das währe bei vergossenem Gerät sonst ein Totalschaden gewesen.
Max M. schrieb: >> So'n Ein 10F2xxer sieht doch lächerlich, neben so nen 555er aus. ;D > Neben wäre auch am Ziel vorbei. > Der PIC10 ersetzt ja den 555 Nein, leider nicht! Harry R. schrieb: > PS.: Unter Umständen/wahrscheinlich ist sogar die Entprellroutine > obsolet > (wg. NE555, der einen Schwellwert-Schalter vor dem In-GPIO > implementieren wird)
Teo D. schrieb: >> Der PIC10 ersetzt ja den 555 > Nein, leider nicht! In welcher Konstellation tut er das nicht? Wenn der 10F202 es nicht tut. MC hat ja deutlich besseres im SOT23. https://www.microchip.com/maps/Microcontroller.aspx
Max M. schrieb: > Teo D. schrieb: >>> Der PIC10 ersetzt ja den 555 >> Nein, leider nicht! > In welcher Konstellation tut er das nicht? > > Wenn der 10F202 es nicht tut. MC hat ja deutlich besseres im SOT23. > https://www.microchip.com/maps/Microcontroller.aspx Grundsätzlich Problem mit dem Textverständnis? Oder haste nen heftigen Hangover?
Teo D. schrieb: > Max M. schrieb: >> Was willst Du denn bei dem Zwerg automatisch an Code Konfigurieren >> lassen? > > Oszillator, IO Pins, Timmer.... OK mehr hat das ja leider nicht. Aber > wie so nicht.... Weil da keiner mit C drauf los geht?!* > Wäre es wenigstens der 204/206er, die hätten noch Kommaoperatoren drin. > So'n Ein 10F2xxer sieht doch lächerlich, neben so nen 555er aus. ;D > > > *) Ich :DDD Für mich reicht er vollkommen aus :-)
Max M. schrieb: > Harry R. schrieb: >> Wie lese ich aus einem GPIO ? >> Wie schreibe ich rein ? > > Das DB ist Dein Freund. > Les es doch einfach mal. > > _delay_ms & _delay_us erzeugen irgendwo Code den Du nicht auf dem Zettel > hast. > Du hast bei den Pic10 keinen Platz für opulente Spielereien. Das wird nicht opulent, eher karg :-)
Max M. schrieb: > Harry R. schrieb: >> Wie lese ich aus einem GPIO ? >> Wie schreibe ich rein ? > > Das DB ist Dein Freund. > Les es doch einfach mal. Was ist DB ?
Volker S. schrieb: > Harry R. schrieb: >> Ich möchte aus einem GPIO lesen (in eine Variable) und die anderern >> drei beschreiben. >> >> Kann mir bitte jemand die Funktionsaufrufe dafür zeigen ? > Dafür braucht man doch keine Funktionen :D Wie auch immer es heißt, dann schreibe ich jetzt "Bezeichner" und bin auf der richtigen Seite :-) > Harry R. schrieb: >> Ich habe mal einen Screenshot angehängt, > JA, sehr mühsam das jetzt abzutippen. Poste doch lieber den Code oder am > besten das gezippte Projekt. In MPLABX gibt es da im Kontextmenü des > Projektes ein "Package" Ja, gerne, nächstes mal. Ich wollte halt auch zeigen, wie es in der Entwicklungsumgebung aussieht ... Ich will hier auch keinen größeren Aufruhr verursachen.
Harry R. schrieb: > Das wird nicht opulent, eher karg :-) Delay Funktionen zu nutzen ohne zu wissen welche Menge Code die generieren, bezeichne ich als opulente Spielerei. Harry R. schrieb: > Was ist DB ? Datenblatt. Deine Bibel wenn es um Fragen zum PIC geht. Teo D. schrieb: > Grundsätzlich Problem mit dem Textverständnis? > Oder haste nen heftigen Hangover? Warum so unhöflich? Deswegen einen 555? >> (wg. NE555, der einen Schwellwert-Schalter vor dem In-GPIO >> implementieren wird) Der PIC10F204 hat einen Comparator bei dem beide Eingänge rausgeführt sind. Einfach die richtige MCU verwenden.
> Der PIC10F204 hat einen Comparator bei dem beide Eingänge rausgeführt > sind. > Einfach die richtige MCU verwenden. Was wäre denn die kleinstmögliche MCU mit mehr als 4 IOs ?
So, das kleine Progrämmchen ist fertig. Leider habe ich noch keinen Brenner, kann also nicht testen, ausser, halt da gibt es ja ein paar Simulatoren. Kann mir bitte jemand Tipps geben, wie ich am besten simuliere ? Grüßle Harry
Harry R. schrieb: > Was wäre denn die kleinstmögliche MCU mit mehr als 4 IOs ? Such Dir Deine Kriterien aus. https://www.microchip.com/maps/Microcontroller.aspx
Harry R. schrieb: > Kann mir bitte jemand Tipps geben, wie ich am besten simuliere ? Kommt drauf an, was du simulieren willst. Help -> Tool Help Contents -> Simualtor WebHelp dann Getting Started with the Simulator vermutlich Stimulus und Logic Analyzer
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.