Hi Ich bin ein Noop was PICs betifft und versuche gerade mein erstes Probramm ( ein Lauflich von Sprut) zum laufen zu bringen. Ich habe das Programm von sprut (http://www.sprut.de/electronic/pic/programm/lauflicht/lauflich.htm) in eine Textdatei kopiert und als ASM compiliert. jetzt rufe ich das mit MPLAB IDE auf und ändere den Prozessortypen (ich habe einen 16F628A) Beim Assemblieren bekomme ich fast pro Zeile folgende Fehlermeldung: Error[152] C:\DOKUMENTE UND EINSTELLUNGEN\BESITZER\DESKTOP\LAUFLICHT MIT MPLAB IDE\4 LAUFLICHT.ASM 25 : Executable code and data must be defined in an appropriate section Ab und zu sagt er noch ich solle PORTB definieren: Error[113] C:\DOKUMENTE UND EINSTELLUNGEN\BESITZER\DESKTOP\LAUFLICHT MIT MPLAB IDE\4 LAUFLICHT.ASM 35 : Symbol not previously defined (PORTB) Was mache ich falsch? Muss ich irgendwie noch etwas hinzufügen/definieren? Und wenn wie mach ich das dann? Schon mal vielen Dank im Vorraus. Gy
Habe mich anfangs auch mit dem Lauflicht beschäftigt. Als Anhang füge ich mein etwas verändertes ASM-File bei. Nicht alle Änderungen in der Init sind für die Umstellung auf den PIC 16F628A unbedingt notwendig, aber das Programm läuft auf dem realen PIC. Schau mal, was Du damit anfangen Kannst!
Genau das gleiche Problem. Dan liegt es schon mal nicht am Pprogramm. Trotzdem vielen Dank Atlas
Ich habe mal gehört das MPLAB zu lange Pfade nicht verträgt. Wo hast du die ASM Datei gespeichert?
Ich arbeite nicht mit MPLAB, sondern wandle das mit dem Editor erstellte ASM-File mit dem Programm MPASMWIN direkt in ein HEX-File um. Aber um Deine Fehlermeldung zu elliminieren, füge im File eine ORG-Anweisung in der Zeile vor der Init ein. Dies teilt dem Assembler mit, wo er das Programm im Speicher ablegen soll. so wie hier: ORG 100 Init MOVLW.... MfG
Juhuuuuu kein Error mehr!!!!!!!!!!!! Aber leider auch kein Hex. File. Stadt dessen diese Nachricht: Executing: "C:\Programme\Microchip\MPASM Suite\MPAsmWin.exe" /q /p16F628A "Lauflicht 1.asm" /l"Lauflicht 1.lst" /e"Lauflicht 1.err" /o"Lauflicht 1.o" Message[301] C:\PROGRAMME\MICROCHIP\MPASM SUITE\P16F628.INC 35 : MESSAGE: (Processor-header file mismatch. Verify selected processor.) Message[302] C:\DOKUMENTE UND EINSTELLUNGEN\BESITZER\DESKTOP\LAUFLICHT MIT MPLAB IDE\LAUFLICHT 1.ASM 30 : Register in operand not in bank 0. Ensure that bank bits are correct. BUILD SUCCEEDED: Sat Jun 02 21:26:45 2007 Anscheinend muss ich mehr umstellen als nur das was ich getan hab. Hierfüar mal mein Programm: list p=16f628a ; Includedatei für den 16F628a einbinden ; #include <P16f628a.INC> ; ; Configuration festlegen ; ; bis 4 MHz: Power on Timer, kein Watchdog, XT-Oscillator ; __CONFIG _PWRTE_ON & _WDT_OFF & _XT_OSC ; ; ab 4 MHz: Power on Timer, kein Watchdog, HS-Oscillator __CONFIG _PWRTE_ON & _WDT_OFF & _HS_OSC ; ;************************************************************** ; Variablennamen vergeben loops Equ 0x22 ; Zähler für Warteschleife loops2 Equ 0x23 ; Zähler für Warteschleife ;************************************************************** ; los gehts mit dem Programm ; Port B auf Ausgabe stellen ORG 010 Init bsf STATUS, RP0 ; auf Bank 1 umschalten movlw B'00000000' ; PortB alle output movwf TRISB bcf STATUS, RP0 ; auf Bank 0 zurückschalten clrf PORTB ; alle LEDs ausschalten ; 1. LED einschalten bsf PORTB,0 ; LED an RB0 einschalten ; Lauflicht Loop call Wait ; Wartezeit rlf PORTB,f ; laufen zur nächsten LED goto Loop ;********************************************************** ; Warteschleife 250 ms Wait movlw D'250' ; 250 ms Pause movwf loops Wai movlw .249 ; Zeitkonstante für 1ms movwf loops2 Wai2 nop ; nop nop nop nop nop decfsz loops2, F ; 1 ms vorbei? goto Wai2 ; nein, noch nicht ; decfsz loops, F ; 250 ms vorbei? goto Wai ; nein, noch nicht retlw 0 ; das Warten hat ein Ende end Nochmal vielen Dank Atlas. Es sieht so aus als ob mir einige Grundlagen zum Programierne fehlen. Kannst du mir ein Tutorial oder so empfehlen? mfg Gy
Schau dir doch mal diese Seite an :http://www.roboternetz.de/wissen/index.php/PIC_Assembler MFG Ralf
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.