Kristalloscillator inkoppling!
Det finns inget att ställa in i MPLAB.
Du väljer bara "rätt" CONFIG till din krets (i koden)
Se rellevanta delar av databladet samt slutet på
INC-filen för din processor där alla alternativ finns
listade.
Sen, det är inte så där jättevanligt att man anser att man
behöver en "canned oscillator". Vad är det i just detta fall
som gör att en vanlig kristall inte fungerar ?
Du väljer bara "rätt" CONFIG till din krets (i koden)
Se rellevanta delar av databladet samt slutet på
INC-filen för din processor där alla alternativ finns
listade.
Sen, det är inte så där jättevanligt att man anser att man
behöver en "canned oscillator". Vad är det i just detta fall
som gör att en vanlig kristall inte fungerar ?
Sodjan!
Jag tänkte att man sätter config bitarna i mplab , det går väl göra i menyn.
Men det kanske är bättre att lära sig att skriva det i koden.
Vad händer om det står annat i mplab än i koden. är det koden som bestämmer då?
Varför jag vill använda en kristalloscillator var för det krånglade bara när jag kör på labbplatta. Fick då lite hjälp som sa att en komplett oscillator är inte så kännslig!
Jag tänkte att man sätter config bitarna i mplab , det går väl göra i menyn.
Men det kanske är bättre att lära sig att skriva det i koden.
Vad händer om det står annat i mplab än i koden. är det koden som bestämmer då?
Varför jag vill använda en kristalloscillator var för det krånglade bara när jag kör på labbplatta. Fick då lite hjälp som sa att en komplett oscillator är inte så kännslig!
> Jag tänkte att man sätter config bitarna i mplab , det går väl göra i menyn.
Jo, det säg så. Själv har jag aldrig kollat eller använt det...
> Men det kanske är bättre att lära sig att skriva det i koden.
Jag tycker att det är bättre, eftersom det i alla fall hör ihop med koden.
Dessutom, om du någon gång vill ha hjälp på t.ex ett forum, och postar
lite kod som du har problem med, så är det överlägset bättre att ha
CONFIG med i koden !!
> Vad händer om det står annat i mplab än i koden. är det koden som bestämmer då?
Jag *tror* det. Men skit samma, strunta bara i menyerna...
Jo, det säg så. Själv har jag aldrig kollat eller använt det...
> Men det kanske är bättre att lära sig att skriva det i koden.
Jag tycker att det är bättre, eftersom det i alla fall hör ihop med koden.
Dessutom, om du någon gång vill ha hjälp på t.ex ett forum, och postar
lite kod som du har problem med, så är det överlägset bättre att ha
CONFIG med i koden !!
> Vad händer om det står annat i mplab än i koden. är det koden som bestämmer då?
Jag *tror* det. Men skit samma, strunta bara i menyerna...
Problemen fortsätter.
Använder mig nu av:
__config _OSC_ECIO_1H
Men då säger mplab att man ska använda kommandot CONFIG för pic18.
Jag har läst och läst men får det inte att fungera och förstår inte hur jag ska skriva.
Det står _OSC_ECIO_1H i inc-filen ska man skriva
CONFIG OSC=ECIO
Det är en komplett kristalloscillator processorn är pic18f2480
Om någon är kunnig på detta föklara för mig!
Använder mig nu av:
__config _OSC_ECIO_1H
Men då säger mplab att man ska använda kommandot CONFIG för pic18.
Jag har läst och läst men får det inte att fungera och förstår inte hur jag ska skriva.
Det står _OSC_ECIO_1H i inc-filen ska man skriva
CONFIG OSC=ECIO
Det är en komplett kristalloscillator processorn är pic18f2480
Om någon är kunnig på detta föklara för mig!
För en annan PIC18 men du förstår principen:
Byt ut till det som gäller för din processor och de val som du vill ha.
Kod: Markera allt
;**********************************************************
; CONFIG settings
;
config OSC = HS, OSCS=OFF, PWRT = ON, BOR = OFF
config WDT = OFF, CCP2MUX = OFF, STVR = OFF, LVP = OFF
config DEBUG = OFF, CP0 = OFF, CP1 = OFF, CP2 = OFF
config CP3 = OFF, CPB = OFF, CPD = OFF, WRT0 = OFF
config WRT1 = OFF, WRT2 = OFF, WRT3 = OFF, WRTB = OFF
config WRTC = OFF, WRTD = OFF, EBTR0 = OFF, EBTR1 = OFF
config EBTR2 = OFF, EBTR3 = OFF, EBTRB = OFF
;
;**********************************************************
Om jag inte skriver nån config i texten får jag 0 fel och 0 varningar.
Men skriver jag: config OSC = ECIO, WDT=OFF
får jag 50-60 fel och varningar.
Lägger in några!
Det kan hända att det inte säger er något om ni inte ser programmet.
Men är det någon som känner igen det som kanske vet vad som fattas.
Warning[220] D:\OBD-PROJEKT\BLINKTEST.ASM 20 : Address exceeds maximum range for this processor.
Warning[220] D:\OBD-PROJEKT\BLINKTEST.ASM 21 : Address exceeds maximum range for this processor.
Warning[220] D:\OBD-PROJEKT\BLINKTEST.ASM 23 : Address exceeds maximum range for this processor.
Warning[220] D:\OBD-PROJEKT\BLINKTEST.ASM 24 : Address exceeds maximum range for this processor.
Warning[220] D:\OBD-PROJEKT\BLINKTEST.ASM 26 : Address exceeds maximum range for this processor.
Warning[220] D:\OBD-PROJEKT\BLINKTEST.ASM 27 : Address exceeds maximum range for this processor.
Warning[220] D:\OBD-PROJEKT\BLINKTEST.ASM 32 : Address exceeds maximum range for this processor.
Warning[220] D:\OBD-PROJEKT\BLINKTEST.ASM 33 : Address exceeds maximum range for this processor.
Error[116] D:\OBD-PROJEKT\BLINKTEST.ASM 35 : Address label duplicated or different in second pass (Blink)
Warning[220] D:\OBD-PROJEKT\BLINKTEST.ASM 35 : Address exceeds
;****************************************************************
LIST P=18f2480 ;Anger kompilator för processorn
#include <p18f2480.inc>
;****************************************************************
;**********************************************************
; CONFIG settings
;
config OSC = ECIO, WDT=OFF
;
;**********************************************************
Men skriver jag: config OSC = ECIO, WDT=OFF
får jag 50-60 fel och varningar.
Lägger in några!
Det kan hända att det inte säger er något om ni inte ser programmet.
Men är det någon som känner igen det som kanske vet vad som fattas.
Warning[220] D:\OBD-PROJEKT\BLINKTEST.ASM 20 : Address exceeds maximum range for this processor.
Warning[220] D:\OBD-PROJEKT\BLINKTEST.ASM 21 : Address exceeds maximum range for this processor.
Warning[220] D:\OBD-PROJEKT\BLINKTEST.ASM 23 : Address exceeds maximum range for this processor.
Warning[220] D:\OBD-PROJEKT\BLINKTEST.ASM 24 : Address exceeds maximum range for this processor.
Warning[220] D:\OBD-PROJEKT\BLINKTEST.ASM 26 : Address exceeds maximum range for this processor.
Warning[220] D:\OBD-PROJEKT\BLINKTEST.ASM 27 : Address exceeds maximum range for this processor.
Warning[220] D:\OBD-PROJEKT\BLINKTEST.ASM 32 : Address exceeds maximum range for this processor.
Warning[220] D:\OBD-PROJEKT\BLINKTEST.ASM 33 : Address exceeds maximum range for this processor.
Error[116] D:\OBD-PROJEKT\BLINKTEST.ASM 35 : Address label duplicated or different in second pass (Blink)
Warning[220] D:\OBD-PROJEKT\BLINKTEST.ASM 35 : Address exceeds
;****************************************************************
LIST P=18f2480 ;Anger kompilator för processorn
#include <p18f2480.inc>
;****************************************************************
;**********************************************************
; CONFIG settings
;
config OSC = ECIO, WDT=OFF
;
;**********************************************************
Tacksam om det finns någon som vill hjälpa mig seriöst istället för att hugga och tala om för en med andra ord att man är dum i huvudet.
Tala om konkret vad ni behöver veta så säger jag det.
Vet inte vad jag ska börja leta. Har sökt i hjälpen men det hjälper mig inte.
SODJAN jag har inte config i position 1 blev fel när jag klippte in det i inlägget.
Tala om konkret vad ni behöver veta så säger jag det.
Vet inte vad jag ska börja leta. Har sökt i hjälpen men det hjälper mig inte.
SODJAN jag har inte config i position 1 blev fel när jag klippte in det i inlägget.
Dina "fel" är ett antal varningar (de kallas "Warning") vilket betyder att du ska kolla upp det. I detta fall verkar ditt program vara för stort.
Sedan visar du ett (1) fel (de kallas "Error"): 'Blink'-labeln finns i två (eller fler) ställen (vanligt) eller den har ändrat värde inför andra genomgången (ganska ovanligt).
Detta har alltså INGET med config att göra...
Det vore tacksamt om du faktisk LÄSER de varningar du får och försöker förstå vad de innebär när vi nu är igång med tacksamheter.
Att DU tolkar något ur vad ingen har sagt är DITT problem.
"Warning[220] D:\OBD-PROJEKT\BLINKTEST.ASM 20 : Address exceeds maximum range for this processor." översätts till:
"Varning[220] D:\OBD-PROJEKT\BLINKTEST.ASM 20 : Adress överstiger maximum tillåtet för denna processor"
Programmet är alltså helt enkelt för stort till att det kan passa i minnet på processorn. Ganska enkelt eller hur?
Sedan visar du ett (1) fel (de kallas "Error"): 'Blink'-labeln finns i två (eller fler) ställen (vanligt) eller den har ändrat värde inför andra genomgången (ganska ovanligt).
Detta har alltså INGET med config att göra...
Det vore tacksamt om du faktisk LÄSER de varningar du får och försöker förstå vad de innebär när vi nu är igång med tacksamheter.
Att DU tolkar något ur vad ingen har sagt är DITT problem.
"Warning[220] D:\OBD-PROJEKT\BLINKTEST.ASM 20 : Address exceeds maximum range for this processor." översätts till:
"Varning[220] D:\OBD-PROJEKT\BLINKTEST.ASM 20 : Adress överstiger maximum tillåtet för denna processor"
Programmet är alltså helt enkelt för stort till att det kan passa i minnet på processorn. Ganska enkelt eller hur?
Icecap!
Som jag skrev innan att om jag tar bort raden med config så försvinner alla fel och varningar!
Programmet är absolut inget stort program, jag klistrar in det, blir inte så bra när man gör det bara.
Det blev bättre!
Tack Bos!
Som jag skrev innan att om jag tar bort raden med config så försvinner alla fel och varningar!
Programmet är absolut inget stort program, jag klistrar in det, blir inte så bra när man gör det bara.
Kod: Markera allt
;***************************************************************************
LIST P=18f2480 ;Anger kompilator för processorn
#include <p18f2480.inc>
;****************************************************************************
;**********************************************************
; CONFIG settings
;
config OSC = ECIO, WDT=OFF
;
;**********************************************************
START: MOVWF PORTA ;Nollställer Port A
MOVWF PORTB ;Nollställer Port B
MOVLW 0x00 ;Skriver värdet 00 hex till W registret
MOVWF TRISA ;Värdet sparas i riktningsregistret för port A
;Vilket innebär att alla bitarna blir utgångar
MOVLW 0x00 ;Skriver värdet 00 hex till W registret
MOVWF TRISB ;Värdet sparas i riktningsregistret för port B
;Vilket innebär att alla bitarna blir utgångar
;Slut på initiering
;*****************************************************************************
MOVLW 0x02 ;Lägg 02 i register W
MOVWF PORTA ;Lägg ut detta på PORT A för att bland annat aktivera krets 74HCT541 på laborationskort MT3
Blink: MOVLW 0x00 ;Lägg 1 i register W
MOVWF PORTB ;Lägg ut innehållet i register W på Port B för att tända lysdioden.
CALL Delay ;Subrutinanrop: Delay
CALL Delay
MOVLW 0xff ;Lägg 00 i register W
MOVWF PORTB ;Lägg ut innehållet i register W på Port B för att släcka lysdioden.
CALL Delay
CALL Delay
MOVLW 0x00
MOVWF PORTB
CALL Delay ;Subrutinanrop: Delay
CALL Delay
GOTO Blink ;Repetera.
Delay: MOVLW 0xff ;Tidsfördröjning ca 1 sekund
MOVWF 0x0d
Loop2: MOVLW 0xff
MOVWF 0x0c
Loop1: DECFSZ 0x0c,1
GOTO Loop1
DECFSZ 0x0d,1
GOTO Loop2
RETURN
END
Det blev bättre!
Tack Bos!
Senast redigerad av warrior 14 april 2008, 22:45:26, redigerad totalt 1 gång.