hallo,
noch was deutsches http://pic-projekte.de/wordpress/?p=133 einführung c für pic.
das problem ist das ich bei pic nie assembler gemacht habe.
gruß
morob
ps die modellraketen fliegen noch, im juni und oktober
hallo,
noch was deutsches http://pic-projekte.de/wordpress/?p=133 einführung c für pic.
das problem ist das ich bei pic nie assembler gemacht habe.
gruß
morob
ps die modellraketen fliegen noch, im juni und oktober
das leben ist hart, aber wir müssen da durch.
Hallo Freunde !
Vielen Recht herzlichen Dank für Eure Unterstützung. ich habe es nun geschafft ein lauffähiges Codebeispiel zu stricken. das Grundgerüst stammt sich aus einem Franzies Buch : Programmieren von PIC- Mikrocontrollern von Dieter Kohtz.
Nach dem auch irgendwas mit der *,inc Datei nicht recht gestimmt hatte, habe ich es nun geschafft, das die 8-LED binär "zählen" . Auch konnte ich jetzt den auf dem Entwickler Board vorgegebenen PortD nutzen.
Hier nun der CODE sollte wer noch etwas verbesserungswürdiges finden, bin ich über jede Info sehr dankbar
Nochmals besten Dank und Grüsse
Gerhard
Im Buchbeispiel wird das PORTD durch setzen des TRISD auf 0 als Ausgang konfiguriert. Den Hinweis (nach meinem Studium deines ersten Quellcodes) hattest du schon gestern von mir...
Mit dem __CONFIG stellst du immer noch nicht alle Config Bits des PIC877A ein, warum? Dabei bietet das MPLAB einen bequemen Dialog an - mit aussagekräftigen Kommentaren zu allen Config Bits.
Was mir an deinen Config Bits zu denken gibt:
- die Oszillator-Option war im ersten Programm HS, jetzt auf einmal XT, hat das einen Grund? Was ist richtig? (Datenblatt beisst nicht )
- LVP ist standardmäßig an, so lange du nicht das Config Bit auf _LVP_OFF setzt. Damit ist bei dir der RB3 Pin dem LVP Programmieren zugeordnet und muss entspr. beschaltet werden. Ist das so gewollt? (Datenblatt beisst nicht )
Gruß
witkatz
Geändert von witkatz (10.04.2016 um 22:25 Uhr)
Hallo Gerhard,
Wie gesagt ist der XC8 gratis, optimiert aber weniger als die kostenpflichtige Variante.
Mein letzter Assembler war für ein Multitasking-Betriebssystem. Ist aber nur eine einzelne kleine Funktion, welche die Register auf dem aktuellen Stack rettet, den SP des neuen Tasks lädt und dann die geretteten Register von diesem wieder lädt. Alles andere ist in C geschrieben.
Angefangen habe ich mal auf einem KIM-1 (6502), ist dieses Jahr auch schon 40 Jahre her....
MfG Peter(TOO)
Manchmal frage ich mich, wieso meine Generation Geräte ohne Simulation entwickeln konnte?
Da gibts ne preiswerte Alternative: Man nimmt einen modernen PIC24. Der ist mit seinen 16 Bit und seiner höheren Clock wesentlich schneller und in vergleichbarer Ausführung meist auch noch billiger. Der PIC24FV32KA304 z.B. hat 16 16-Bit Mips statt 5 8-Bit Mips des 16F877 bei größerem Speicher und wesentlich geringerem Preis. Da kann der Optimizer des XC8 machen, was er will, an den billigeren PIC24 wird er nie herankommen. Beim Programmieren machts keinen Unterschied, C ist eben C. Und wenn man sowieso neu anfängt, kann man auch einen neuen Chip nehmen.
MfG Klebwax
Strom fließt auch durch krumme Drähte !
Hallo Freunde ich möchte mich auch für die letzten Beiträge/Antworten herzlich bedanken.
Klebwax,
ja warum nicht Pic24, das ist folgendermaßen, weil meine Entwicklungsumgebung(DeveloperBoard) für den 40 Pinner PIC16F877A u.ä. ist. Ich mache das ja nur um mal Programmieren zu können, mir schweben,da keine grosse Projekte vor die praktisch real verwirklicht werden...für mich ist das Programmieren, wie für andere Menschen das Kreuzworträtsel...gelöst, weg und was neues.
Also mir geht es darum eine vorgestelle Programmieranwendung zu lösen und fertig ist's....
Witkatz,
ja ich habe mich um das __config gekümmert, aber alles kann ich nicht gleich wissen, habe bislang noch nichts darüber gefunden wo steht wann ich LVP setzen muss oder wann nicht... Tut mir leid wen ich Dich enttäuschen muss.
Eben so mit der Tackteinstellung/Oszillator.
Ich hatte anfangs erwähnt das ich erst mal ein Progbeispiel genommen habe aus dem Web, um mich daran einzuarbeiten.
Ich hatte ja auch geglaubt, dass in eine Buch was sich "Das Grosse PIC-Buch" nennt , auch der Aufbau einens Programmes erscheint, aber leider gefehlt. Wie soll ich da wissen was wo geschrieben werden muss und was nicht,
das ist mir leider nicht mit der Muttermilch mitgegeben worden
Nun ich werde mich schon weiter drein finden, denke ich dauert dann etwas länger, habe je viele Prog Beispiele für den Pic16F84a und auch ein Heftchen dazu, da muss ich eben umstricken und damit leben..etwas Blind durch den Code zu "fahren".
Vielen Dank weiter für Eure Hinweise, die ich dankend beherzigen werde...
Gerhard
@Klebwax:
Gerhard hat alles, was er zum Reinschnuppern und Kennenlernen der PIC Welt braucht und wir helfen ihm dabei. Warum sollte er jetzt schon nach Alternativen suchen?
- falls er mal seinen 16F877A killen sollte, ein Ersatzchip ist billig. Ein PIC16F887 kostet bei Ebay gerade mal 1,60€ incl. Versand aus China
- auf sein EasyPic40 passen andere 40 Pin PIC16F und PIC18F drauf. Es gibt viele modernere, besser ausgestattete und schnellere 8bit PIC Typen, mit denen er auf dem selben Testbrett experimentieren kann.
- PIC16F877A lässt sich in ASM und C mit kostenlosen Standardmitteln von Microchip programmieren.
- - - Aktualisiert - - -
Das Low Voltage Programming ist im Datenblatt des PIC16F877A beschrieben. EasyPic40 unterstützt es wahrscheinlich nicht, also bitte abschalten, bevor der PIC mit jedem Tastendruck am RB3 in den Programmiermodus geht und Probleme macht. Noch schlimmer ist aktivierter LVP und unbeschalteter RB3, der sporadisch in Richtung Vdd floatet - ein beliebter Anfängerfehler, der viel Frust bringen kann.
Die Programm-Beispiele wurden bestimmt auf einer anderen Hardware erstellt. Deswegen sollte man die Config Bits immer anhand des Datenblatts an die eigene Hardware anpassen. Der Einstelldialog in MPLAB hilft dabei ungemein.
Die Oszillatormodes XT und HS würden zu 4MHz Quarz beide passen. Für schnellere Quarze sollte man HS setzen. Das steht auch im Datenblatt - im Kap. 14.2 Oscillator Configurations.
Wenn du irgendwas von meinem Geschreibsel nicht verstehst, frag ruhig nach - gerne auch per PN. Ich helfe dir gerne, so lange ich Zeit finde. Und vielleicht berichtest du mal über deine PIC Experimente hier im Forum oder im Blog - mich würd's freuen.
Geändert von witkatz (11.04.2016 um 12:43 Uhr)
Danke Witkatz, werde mich bemühen Folge zu leisten, der RB3 ist mit LED /Rvor beschaltet, der Qu ist 4MHz
Gerhard
Geändert von witkatz (11.04.2016 um 15:25 Uhr) Grund: main.c Abbruchbedingung der Schleife gem. ASM Beispiel
Lesezeichen