Hi leute, habe heute mein erstes PIC-Programm geschrieben. Soll für eine
Steuerung sein.
Das asm-file ist im anhang.
Ich bekomme folgende Fehlermeldung beim compilieren, und werde einfach
nicht schlau draus. ich denke mal ich bin in einen typischen noob-fehler
getappt, den ich übersehen habe.
Kann mir jemand dabei helfen?
Clean: Deleting intermediary and output files.
Clean: Done.
Executing: "C:\Programme\Microchip\MPASM Suite\MPAsmWin.exe" /q /p12F675
"Sprachlab.asm" /l"Sprachlab.lst" /e"Sprachlab.err"
Warning[205] C:\PIC-ASSEMBLER\SPRACHLABORSTEUERUNG\SPRACHLAB.ASM 29 :
Found directive in column 1. (list)
Warning[205] C:\PIC-ASSEMBLER\SPRACHLABORSTEUERUNG\SPRACHLAB.ASM 33 :
Found directive in column 1. (__CONFIG)
Warning[205] C:\PIC-ASSEMBLER\SPRACHLABORSTEUERUNG\SPRACHLAB.ASM 35 :
Found directive in column 1. (Errorlevel)
Warning[203] C:\PIC-ASSEMBLER\SPRACHLABORSTEUERUNG\SPRACHLAB.ASM 40 :
Found opcode in column 1. (call)
Warning[203] C:\PIC-ASSEMBLER\SPRACHLABORSTEUERUNG\SPRACHLAB.ASM 41 :
Found opcode in column 1. (movwf)
Error[115] C:\PIC-ASSEMBLER\SPRACHLABORSTEUERUNG\SPRACHLAB.ASM 47 :
Duplicate label ("loops3" or redefining symbol that cannot be redefined)
Warning[205] C:\PIC-ASSEMBLER\SPRACHLABORSTEUERUNG\SPRACHLAB.ASM 49 :
Found directive in column 1. (org)
Warning[203] C:\PIC-ASSEMBLER\SPRACHLABORSTEUERUNG\SPRACHLAB.ASM 51 :
Found opcode in column 1. (bsf)
Error[118] C:\PIC-ASSEMBLER\SPRACHLABORSTEUERUNG\SPRACHLAB.ASM 51 :
Overwriting previous address contents (0000)
Error[118] C:\PIC-ASSEMBLER\SPRACHLABORSTEUERUNG\SPRACHLAB.ASM 51 :
Overwriting previous address contents (0000)
Warning[203] C:\PIC-ASSEMBLER\SPRACHLABORSTEUERUNG\SPRACHLAB.ASM 52 :
Found opcode in column 1. (bsf)
Error[118] C:\PIC-ASSEMBLER\SPRACHLABORSTEUERUNG\SPRACHLAB.ASM 52 :
Overwriting previous address contents (0001)
Error[118] C:\PIC-ASSEMBLER\SPRACHLABORSTEUERUNG\SPRACHLAB.ASM 52 :
Overwriting previous address contents (0001)
Warning[203] C:\PIC-ASSEMBLER\SPRACHLABORSTEUERUNG\SPRACHLAB.ASM 53 :
Found opcode in column 1. (bsf)
Warning[203] C:\PIC-ASSEMBLER\SPRACHLABORSTEUERUNG\SPRACHLAB.ASM 54 :
Found opcode in column 1. (bsf)
Warning[203] C:\PIC-ASSEMBLER\SPRACHLABORSTEUERUNG\SPRACHLAB.ASM 70 :
Found opcode in column 1. (movlw)
Warning[203] C:\PIC-ASSEMBLER\SPRACHLABORSTEUERUNG\SPRACHLAB.ASM 72 :
Found opcode in column 1. (movwf)
Warning[203] C:\PIC-ASSEMBLER\SPRACHLABORSTEUERUNG\SPRACHLAB.ASM 73 :
Found opcode in column 1. (clrf)
Warning[203] C:\PIC-ASSEMBLER\SPRACHLABORSTEUERUNG\SPRACHLAB.ASM 74 :
Found opcode in column 1. (bcf)
Warning[203] C:\PIC-ASSEMBLER\SPRACHLABORSTEUERUNG\SPRACHLAB.ASM 76 :
Found opcode in column 1. (clrf)
Warning[203] C:\PIC-ASSEMBLER\SPRACHLABORSTEUERUNG\SPRACHLAB.ASM 77 :
Found opcode in column 1. (movlw)
Warning[203] C:\PIC-ASSEMBLER\SPRACHLABORSTEUERUNG\SPRACHLAB.ASM 78 :
Found opcode in column 1. (movwf)
Warning[203] C:\PIC-ASSEMBLER\SPRACHLABORSTEUERUNG\SPRACHLAB.ASM 79 :
Found opcode in column 1. (clrf)
Warning[203] C:\PIC-ASSEMBLER\SPRACHLABORSTEUERUNG\SPRACHLAB.ASM 86 :
Found opcode in column 1. (btfsc)
Warning[203] C:\PIC-ASSEMBLER\SPRACHLABORSTEUERUNG\SPRACHLAB.ASM 88 :
Found opcode in column 1. (goto)
Warning[203] C:\PIC-ASSEMBLER\SPRACHLABORSTEUERUNG\SPRACHLAB.ASM 91 :
Found opcode in column 1. (btfss)
Warning[203] C:\PIC-ASSEMBLER\SPRACHLABORSTEUERUNG\SPRACHLAB.ASM 93 :
Found opcode in column 1. (goto)
Warning[203] C:\PIC-ASSEMBLER\SPRACHLABORSTEUERUNG\SPRACHLAB.ASM 100 :
Found opcode in column 1. (movlw)
Warning[203] C:\PIC-ASSEMBLER\SPRACHLABORSTEUERUNG\SPRACHLAB.ASM 101 :
Found opcode in column 1. (movwf)
Warning[203] C:\PIC-ASSEMBLER\SPRACHLABORSTEUERUNG\SPRACHLAB.ASM 102 :
Found opcode in column 1. (bcf)
Warning[203] C:\PIC-ASSEMBLER\SPRACHLABORSTEUERUNG\SPRACHLAB.ASM 103 :
Found opcode in column 1. (movlw)
Warning[203] C:\PIC-ASSEMBLER\SPRACHLABORSTEUERUNG\SPRACHLAB.ASM 104 :
Found opcode in column 1. (movwf)
Warning[203] C:\PIC-ASSEMBLER\SPRACHLABORSTEUERUNG\SPRACHLAB.ASM 105 :
Found opcode in column 1. (call)
Warning[203] C:\PIC-ASSEMBLER\SPRACHLABORSTEUERUNG\SPRACHLAB.ASM 106 :
Found opcode in column 1. (movlw)
Warning[203] C:\PIC-ASSEMBLER\SPRACHLABORSTEUERUNG\SPRACHLAB.ASM 107 :
Found opcode in column 1. (movwf)
Warning[203] C:\PIC-ASSEMBLER\SPRACHLABORSTEUERUNG\SPRACHLAB.ASM 108 :
Found opcode in column 1. (movlw)
Warning[203] C:\PIC-ASSEMBLER\SPRACHLABORSTEUERUNG\SPRACHLAB.ASM 109 :
Found opcode in column 1. (movwf)
Warning[203] C:\PIC-ASSEMBLER\SPRACHLABORSTEUERUNG\SPRACHLAB.ASM 110 :
Found opcode in column 1. (call)
Warning[203] C:\PIC-ASSEMBLER\SPRACHLABORSTEUERUNG\SPRACHLAB.ASM 111 :
Found opcode in column 1. (movlw)
Warning[203] C:\PIC-ASSEMBLER\SPRACHLABORSTEUERUNG\SPRACHLAB.ASM 112 :
Found opcode in column 1. (goto)
Warning[203] C:\PIC-ASSEMBLER\SPRACHLABORSTEUERUNG\SPRACHLAB.ASM 119 :
Found opcode in column 1. (movlw)
Warning[203] C:\PIC-ASSEMBLER\SPRACHLABORSTEUERUNG\SPRACHLAB.ASM 120 :
Found opcode in column 1. (movwf)
Warning[203] C:\PIC-ASSEMBLER\SPRACHLABORSTEUERUNG\SPRACHLAB.ASM 121 :
Found opcode in column 1. (bsf)
Warning[203] C:\PIC-ASSEMBLER\SPRACHLABORSTEUERUNG\SPRACHLAB.ASM 122 :
Found opcode in column 1. (movlw)
Warning[203] C:\PIC-ASSEMBLER\SPRACHLABORSTEUERUNG\SPRACHLAB.ASM 123 :
Found opcode in column 1. (movwf)
Warning[203] C:\PIC-ASSEMBLER\SPRACHLABORSTEUERUNG\SPRACHLAB.ASM 124 :
Found opcode in column 1. (call)
Warning[203] C:\PIC-ASSEMBLER\SPRACHLABORSTEUERUNG\SPRACHLAB.ASM 126 :
Found opcode in column 1. (goto)
Warning[207] C:\PIC-ASSEMBLER\SPRACHLABORSTEUERUNG\SPRACHLAB.ASM 136 :
Found label after column 1. (W1)
Warning[207] C:\PIC-ASSEMBLER\SPRACHLABORSTEUERUNG\SPRACHLAB.ASM 139 :
Found label after column 1. (W2)
Warning[207] C:\PIC-ASSEMBLER\SPRACHLABORSTEUERUNG\SPRACHLAB.ASM 141 :
Found label after column 1. (W3)
Error[113] C:\PIC-ASSEMBLER\SPRACHLABORSTEUERUNG\SPRACHLAB.ASM 143 :
Symbol not previously defined (loops4)
Warning[207] C:\PIC-ASSEMBLER\SPRACHLABORSTEUERUNG\SPRACHLAB.ASM 144 :
Found label after column 1. (W4)
Error[113] C:\PIC-ASSEMBLER\SPRACHLABORSTEUERUNG\SPRACHLAB.ASM 151 :
Symbol not previously defined (loops4)
Message[305] C:\PIC-ASSEMBLER\SPRACHLABORSTEUERUNG\SPRACHLAB.ASM 157 :
Using default destination of 1 (file).
Halting build on first failure as requested.
BUILD FAILED: Sun Jun 03 18:56:17 2007
bin für jede antwort dankbar. greets, Jens
Die Warnungen bekommst du schon mal weg, wenn Du Leerzeichen (besser
Tabs) vor den einzelnen Anweisungen einfügst. Vielleicht kannst Du ja
dann die Fehler noch einmal posten. Das ist ein wenig unübersichtlich.
schreibt der Compiler doch. Er hat in der ersten Spalte einen Opcode
gefunden. Rück den Kram mal ein, dann sind die Warnungen weg. Und dann
noch das Label definieren und schon sollte auch der Fehler weg sein.
Vielleicht wäre es besser mal was über den Compiler zu lesen bevor man
wild drauflosprogrammiert?!? Oder wurde garnicht erst programmiert
sondern nur mit Cut&Paste gespielt?
bye
Frank
sorry, hatteeben die weiteren posts überlesen. Stimmt, diese sachen sind
mir noch nicht aufgefallen. Über den compiler selbst bzw seine
Fehlermeldungen habe ich nich wirklich was gefunden (wasz.b. opcode sein
soll)
und: nein: es ist kein C&C. lediglich die warteschleife is an sprut
angelehnt.
thx so far, Jens
Vielen dank! jetzt lässt es sich kompilieren. Wenns euch interessiert,
kann ich euch noch sagen obs mir der hardware auch so tut wies soll.
Als Anfänger war ich jetzt an dem bisschen kram Stundenlang gesessen,
musste immer wieder nachlesen usw. Da is ma irgendwann a bisserl
matschig in der birne und "Betriebsblind".
Ich hoffe das ich mit etwas übung mit den Dingern zurecht komm.
Vielen herzlichen dank nochmal! greets, Jens
Im Anhang habe ich das aktuelle listing.
Mein Problem ist folgendes:
Der Controller macht zwar das, was er machen soll, wenn erdie Routine
"Einschalten" abarbeiten soll, doch das wars. Erhängt dann dort fest und
reagiert nicht mehr auf Tastendrücke. Hat jemand vielleicht hierzu noch
eine Idee? vielen dank schonmal. mfg, Jens
Nach einiger Zeit (gefühlt ca 2min.) kann ich weiter schalten zu dem
Punkt an dem die gelbe LED kommen soll. Kann es sein dass ich mich in
der Zeitschleife verrant habe?
greets,Jens
4MHz hat er. er lässt sich auch nach einiger zeit weiter schalten zum
zustand mit der gelben LED (in der ausschaltroutine). Schaltet dann
sogar irgendwann wieder das PC-PWR-Relais ab. Doch das wars dann
endgültig. 5 Minuten später drücken führt dazu dass er wieder in den
eingeschalteten (grüne LED, nur 12V Relais)-zustand zurückkehrt.
wenn ich die warteaschlkeife deaktiviere lässt er sich zwischen gelb und
grün umschalten. jedoch völlig chaotisch. mal nach dreimal mal nach zwei
mal drücken. zu rot kehrt er nie zurück. Taster ist übrigens entprellt.
Solangsam fang ich echt an zu verzweifeln
Zu Deiner Warte-Routine:
Bei 4 MHz dauert im PIC jeder Befehl 1µs. Du hast 6 NOPs + einen decfsz
+ ein goto. Das macht 8 Befehle (+/-). Das je 110 mal macht 880 µs, also
knapp eine 1 ms. Die Ungenauigkeiten, daher +/- kommen dadurch, dass für
die anderen Schleifen ja auch jeweils noch ein paar Befehle aufgebraucht
werden. Aber im Großen und Ganzen kommt das hin.
Wie genau hast Du denn den Taster verdrahtet?
Ich würde vorschlagen, dass Du erst einmal direkt versuchst, in Deiner
Hauptschleife nur eine LED mit dem Input zu koppeln, d.h. wenn der
Taster gedrückt ist, die LED leuchten zu lassen und wenn er wieder
losgelassen wird, die LED ausgehen zu lassen, um auszuschließen, dass es
Probleme mit diesem Teil gibt. Vielleicht ist auch der 1k-Widerstand zu
hoch, so dass ggf. der PIC durch den Spannungsabfall am 1k-Widerstand
noch einen High-Pegel erkennt.
jepp, danke, das hab ich echt übersehen, verdreht. jetzt scheint es zwar
von den schaltwerten her schneller zu gehen (also die schleife dürfte
jetzt stimmen), aber er bleibt noch bei gelb hängen. da schau ich jetzt
nochmal genauer nach!
Auf jeden fall einen rießen fetten dank an dich!
DAS GERÄTLE LÄUFT!
DANKE NOCHMAL! DANKE DANKE DANKE!!!!!!!!!!
Ich glaub das sind erfahrungen die man erst mal sammeln muss. als ich
mit elektronik angefangen hab bin ich auch nem falschen widerstand nen
tag lang als phantom hinterhergejagt!
DANKE AUF JEDEN FALL NOCHMAL!