Hallo, ich habe von Velleman das K8048 PIC Programmierboard. Jetzt möchte ich für meinen PIC 16F819 Great Cow Basic ein Programm schreiben und dieses dann (natürlich in HEX) auf den PIC "brennen". Jedoch bekomme ich immer Fehlermeldungen, bzw. WinPIC schreibt in alle Speicherzellen den gleichen Wert. Wer kann mir helfen? Was muss ich tun, bzw. welche Programme verwenden? Dieter PS: Ich bitte euch: bitte keine Grundsatzdiskussionen zu PIC, Basic und Assembler!
Dieter schrieb:
> Jedoch bekomme ich immer Fehlermeldungen
Es wundert mich immer wieder, warum Fehlermeldungen einen Wortlaut
haben.
Es würde doch den meisten völlig reichen, wenn sie lauten würden:
"Blaa bla bla bla bla bla bla blaa"
Da sie sich ja nicht die Mühe machen, sie zu lesen bzw. zu posten.
Peter
Also ganz genau: Ich benuze GCBIDE ==> Kompillieren (alles ok) ===> WinPIC (alle Speicherzellen gelicher Inhalt) ==> Schreiben geht schief GCBIDE ==> asm-Datei ==> MPASMWIN (mi. 40 Syntaxerrors Eine genaue Fehler beschreibung gibt es nie.Entweder Schreiben ging schief oder lapidar 40 Errors Dieter
>Also ganz genau: >Eine genaue Fehler beschreibung gibt es nie.Entweder Schreiben ging >schief oder lapidar 40 Errors Ist es denn soooooo schwierig, diese 40 Syntaxerrors mittels Copy+Paste hier zu deponieren? So kann und wird Dir niemand helfen.
Aha.
1 | Warning[215] C:\BLINKLED.ASM 8 : Processor superseded by command line. Verify processor symbol. |
2 | Message[301] C:\PROGRAMME\MICROCHIP\MPASM SUITE\P16F819.INC 36 : MESSAGE: (Processor-header file mismatch. Verify selected processor.) |
Und was sagt uns das? Du verwendest P16F819.INC, hast aber in der Kommandozeile oder sonstwo einen anderen spezifiziert.
1 | Error[126] C:\BLINKLED.ASM 10 : Argument out of range (not a valid config register address) |
Diese wie auch alle folgenden Fehlermeldungen enthält eine Zeilennummer. Und einen Dateinamen. Mal in die Datei reingesehen, was an der betreffenden Stelle steht?
Also einmal alles:
1 | ;Program compiled by GCBASIC, which is the best language for PICs, ever! |
2 | ;Something not working? Email me at hconsidine@bigpond.com |
3 | ;GCBASIC Version: 0.9 29/10/2006 |
4 | |
5 | ;******************************************************************************** |
6 | |
7 | ;Set up the assembler options (Chip type, clock source, other bits and pieces) |
8 | LIST p=16F819, r=DEC |
9 | #include <P16F819.inc> |
10 | __CONFIG _HS_OSC & _WDT_OFF & _LVP_OFF |
11 | |
12 | ;******************************************************************************** |
13 | |
14 | ;Set aside memory locations for variables |
15 | DELAYTEMP equ 32 |
16 | DELAYTEMP2 equ 33 |
17 | DELAYTEMP4 equ 34 |
18 | SysWaitTempMS equ 35 |
19 | SysWaitTempS equ 36 |
20 | |
21 | ;******************************************************************************** |
22 | |
23 | ;Jump to initialisation code when PIC is reset |
24 | ORG 0 |
25 | call InitSys |
26 | goto SystemInitialise |
27 | |
28 | ;******************************************************************************** |
29 | |
30 | ;Interrupt routine |
31 | ORG 4 |
32 | INTERRUPT |
33 | ;Interrupt code will be inserted here in a later version |
34 | retfie |
35 | |
36 | ;******************************************************************************** |
37 | |
38 | ;Various initialisation routines, automatically called by GCBASIC |
39 | SystemInitialise |
40 | |
41 | ;******************************************************************************** |
42 | |
43 | ;Start of the main program |
44 | banksel TRISB |
45 | bcf TRISB,0 |
46 | bcf TRISB,1 |
47 | START |
48 | banksel PORTB |
49 | bsf PORTB,0 |
50 | bcf PORTB,1 |
51 | movlw 1 |
52 | movwf SysWaitTempS |
53 | call Delay_S |
54 | bcf PORTB,0 |
55 | bsf PORTB,1 |
56 | movlw 1 |
57 | movwf SysWaitTempS |
58 | call Delay_S |
59 | goto START |
60 | BASPROGRAMEND |
61 | sleep |
62 | goto $ |
63 | |
64 | ;******************************************************************************** |
65 | ;Subroutines included in program |
66 | ;******************************************************************************** |
67 | |
68 | Delay_MS |
69 | DMS_START |
70 | movlw 10 |
71 | movwf DELAYTEMP2 |
72 | DMS_OUTER |
73 | movlw 166 |
74 | movwf DELAYTEMP |
75 | DMS_INNER |
76 | decfsz DELAYTEMP, F |
77 | goto DMS_INNER |
78 | decfsz DELAYTEMP2, F |
79 | goto DMS_OUTER |
80 | decfsz SysWaitTempMS, F |
81 | goto DMS_START |
82 | return |
83 | |
84 | ;******************************************************************************** |
85 | |
86 | Delay_S |
87 | DS_START |
88 | movlw 10 |
89 | movwf DELAYTEMP4 |
90 | DS_OUTER |
91 | movlw 100 |
92 | movwf SysWaitTempMS |
93 | call Delay_MS |
94 | decfsz DELAYTEMP4, F |
95 | goto DS_OUTER |
96 | decfsz SysWaitTempS, F |
97 | goto DS_START |
98 | return |
99 | |
100 | ;******************************************************************************** |
101 | |
102 | InitSys |
103 | clrf PORTA |
104 | clrf PORTB |
105 | bcf ADCON0,ADON |
106 | SET ADFM 0 |
107 | SET PCFG2 1 |
108 | SET PCFG1 1 |
109 | SET PCFG0 0 |
110 | return |
111 | |
112 | ;******************************************************************************** |
113 | |
114 | END |
Der GCB-Code:
1 | 'PIC Konfiguration |
2 | #chip 16F819, 20 |
3 | |
4 | |
5 | 'Bestimme PIN Richtung |
6 | dir PORTB.0 OUT |
7 | |
8 | |
9 | 'Hauptprogramm |
10 | do |
11 | set PORTB.0 ON |
12 | Wait 1 sec |
13 | set PORTB.0 OFF |
14 | Wait 1 sec |
15 | loop |
Die ERR-Datei ist schon mal vorher im Anhang, hier noch die LST-Datei Peter
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.