Hallo liebe Profis, ich beginne in die weite Welt der PIC-Programmierung einzusteigen, was tatsächlich nicht einfach ist. Ich studierte inzwischen viele Beispielprogramme, insbesondere bei sprut.de. Man beginnt natürlich mit einfachen Programmen, um hinter die Geheimnisse zu kommen. Nach vielem erfolglosen probieren, bitte ich um einen Hinweis, warum mein kleines Progrämmchen nicht funktioniert. Hier handelt es sich um ein einfaches Ansteuern von Ausgängen in Abhängigkeit einer Belegung an den Eingängen. Ich arbeite mit einem Versuchsbord der Firma Vellmann K8048. Das Programm läßt sich ohne Fehler kompilieren und in den PIC laden. Leider passiert aber gar nichts. Also schlussfolgere ich, das irgend eine Vereinbarung nicht stimmt. Leider kann ich diese nicht finden. Vielleicht kann jemand mir einen Hinweis geben. Vielen Dank für die Unterstützung. Mit freundlichem Gruß Christian
Häufige Fehler: - Spannung fehlt - Programmer muckt (Programm vergleichen) - Analog Funktion an? - Watchdog BOR etc an - externer oder falscher Quarz nicht vorhanden (erst mal internen nehmen) - Falsche Quarzfrequenz (default nach PON nehmen und nicht dran rumfummeln) - Board / PIC kaputt (Läuft ein Beispielprogramm)? t.b.c.
Ich kann den Sinn in deinem Codebeispiel nicht sehen. Zumindest ist bei kurzem Draufgucken nicht feststellbar, daß dieser Code überhaupt was tut - und ich bin zugegebenermaßen momentan zu faul, um ihn einer tiefgründigen Analyse zu unterziehen. Nur soviel: - benutze lesbare Marken - laß sinnlose Sequenzen weg, wie z.B. BTFSS dies,das GOTO Marke2 GOTO Marke1 <-- dieser Befehl ist überflüssig Marke1: BTFSS ... - versuche, dein Programm zu strukturieren. - springe nicht gar soviel mit Goto herum, das braucht man nicht so oft. Wenn du ein Bit einem anderen folgen lassen willst, dann mach es anders, eventuell so: BTFSC PortA,1 BSF PortB,3 BTFSS PortA,1 BCF PortB,3 macht "PortB,3 folgt PortA,1" W.S.
Hallo, vielen Dank für die Antworten. Der Hinweis zum Quarz war der entscheidende Punkt. Nach Korrektur funktioniert das Programm. W.S. Hinweisen werde ich folgen und die Gestaltung ändern. Als Entschuldigung: Als Anfänger beginnt man mit dem, was am einfachsten erscheint und nimmt dankbar jeden Hinweis zur Verbesserung auf. Mit freundlichem Gruß Christian.
Hallo Christian, nachdem ich Dein ASM-File gesehen habe, kramte ich mal in meinen alten Dateien und habe dabei dieses Lauflicht gefunden. Ohne schulmeistern zu wollen, vergleiche mal die Lesbarkeit meines ASM-Files mit dem Deinen. >Hinweisen werde ich folgen und die Gestaltung ändern > Wenn Du ausführlich kommentierst und wie schon gesagt vernünftige Bezeichnungen für Variablen, Labels usw. verwendest, lernst Du zum einen was dabei und kannst auch später mal den Programmlauf einfach nachvollziehen. Übrigens: Habe auch erst 2010 mit den µC's angefangen. Dabei habe ich mich für lange Zeit sehr stark bei sprut [http://www.sprut.de/index.htm] mit dem nötigen Wissen "betankt". Entschuldigen brauchst Du Dich für Deinen Beitrag sicher nicht! Es gibt keine dummen Fragen, nur dumme Antworten! :-) Weiterhin viel Spass mit den PIC's von microchip mfG GroberKlotz
Hallo GroberKlotz, vielen Dank für das *.asm file. Sprut ist/war meine "Bibel" Mit freundlichem Gruß Christian
Hallo GroberKlotz, nach unendlich vielen Fehlversuchen habe ich ebenfalls dein "altes" ASM-File genutzt, da auch bei mir das Sprut-Lauflicht nicht richtig arbeiten wollte. Ich verwende zum Einstieg den Brenner8P von Sprut, die Microchip Entwicklungsumgebung MPLAB und einen P16F628 für meinen Übungsaufbau. Jetzt läuft es und ich habe endlich ein Erfolgserlebnis. Sogar kleine Änderungen im Programm haben die gewünschten Auswirkungen. Vielen Dank dafür! Schöne Grüße, Norbert
Hallo Norbert, Danke für die Rückmeldung, freut mich, dass Du zum Ziel gekommen bist. mfG Grober Klotz
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.