PIC16F688 Intern oscillator. Och: Hur löser man problem?
- JimmyAndersson
- Inlägg: 26586
- Blev medlem: 6 augusti 2005, 21:23:33
- Ort: Oskarshamn (En bit utanför)
- Kontakt:
PIC16F688 Intern oscillator. Och: Hur löser man problem?
Kort sagt: Jag förstår tydligen inte databladet till PIC16F688.
Jag höll på med en PWM-styrning i assembler när jag märkte att lysdioderna blinkade synbart.
Avbröt det jag höll på med och gjorde ett litet testcase där jag togglade en pinne med en nop mellan varje "toggling" (hopplöst ord, jag vet) och mätte med oscilloskopet.
Det visade sig att klockan gick fem gånger för sakta. Dvs 1,6MHz istället för de förväntade 8MHz.
Jag testade i MikroBasic också (för att återanvända lite kod i ett annat sammanhang) och fick förstås samma resultat där.
Disablat: BOR, POR, BOD, WDT.
Fosc är satt till "INTOSCIO oscillator: I/O function on RA4/OSC2/CLKOUT pin, I/O function on RA5/OSC1/CLKIN" enligt: Fosc:2:0 = 100
Fail-safe clock monitor är disabled.
IESO = 0 (Internal External Switchover mode is disabled)
OSCCON.6 = 1 '8MHz IRCF2
OSCCON.5 = 1 '8MHz IRCF1
OSCCON.4 = 1 '8MHz IRCF0
OSCCON.SCS = 1 'Internal oscillator for system clock
Jag har även provat sätta SCS till 0 och IESO till 1.
Jag har försökt hitta något som jag har missat, men Microchip är vanan trogen att skriva "See selection xx" med jämna mellanrum och så får man bläddra dit och läsa, sedan tillbaka igen och vidare till nästa "See selection xx"-sida, så efter ett tag är man vilse. Jag trodde att jag hade förstått, dvs:
Stäng av IESO. Välj prescaler med OSCCON4:6, sätt OSCCON.SCS = 1, men icke....
Det jag skulle behöva hjälp med är alltså att förstå hur jag sätter klockan till 8MHz.
Jag höll på med en PWM-styrning i assembler när jag märkte att lysdioderna blinkade synbart.
Avbröt det jag höll på med och gjorde ett litet testcase där jag togglade en pinne med en nop mellan varje "toggling" (hopplöst ord, jag vet) och mätte med oscilloskopet.
Det visade sig att klockan gick fem gånger för sakta. Dvs 1,6MHz istället för de förväntade 8MHz.
Jag testade i MikroBasic också (för att återanvända lite kod i ett annat sammanhang) och fick förstås samma resultat där.
Disablat: BOR, POR, BOD, WDT.
Fosc är satt till "INTOSCIO oscillator: I/O function on RA4/OSC2/CLKOUT pin, I/O function on RA5/OSC1/CLKIN" enligt: Fosc:2:0 = 100
Fail-safe clock monitor är disabled.
IESO = 0 (Internal External Switchover mode is disabled)
OSCCON.6 = 1 '8MHz IRCF2
OSCCON.5 = 1 '8MHz IRCF1
OSCCON.4 = 1 '8MHz IRCF0
OSCCON.SCS = 1 'Internal oscillator for system clock
Jag har även provat sätta SCS till 0 och IESO till 1.
Jag har försökt hitta något som jag har missat, men Microchip är vanan trogen att skriva "See selection xx" med jämna mellanrum och så får man bläddra dit och läsa, sedan tillbaka igen och vidare till nästa "See selection xx"-sida, så efter ett tag är man vilse. Jag trodde att jag hade förstått, dvs:
Stäng av IESO. Välj prescaler med OSCCON4:6, sätt OSCCON.SCS = 1, men icke....
Det jag skulle behöva hjälp med är alltså att förstå hur jag sätter klockan till 8MHz.
Re: PIC16F688 Intern oscillator 8MHz
PIC, eller iallafall PIC16 serien, tar 4 klockcykler att utföra en instruktion, så det snabbaste du kan toggla en pinne om du kör med 8MHz är 2MHz,
- JimmyAndersson
- Inlägg: 26586
- Blev medlem: 6 augusti 2005, 21:23:33
- Ort: Oskarshamn (En bit utanför)
- Kontakt:
Re: PIC16F688 Intern oscillator 8MHz
Glömde skriva att även delay-loopar (räkneloopar) går fel.
Jag provade även att toggla en pinne med 0,5Hz men frekvensräknaren rapporterade 2,5Hz.
Upptäckte nu att det är när jag har PIE1.ADIE = 1 (AD-interrupt enabled) som allt tar 5 gånger så lång tid.
Interrupt-hanteringen för den ser ut såhär:
AD-klockan:
Fascinerande att man kan fastna så totalt på något som borde vara så enkelt.
Jag provade även att toggla en pinne med 0,5Hz men frekvensräknaren rapporterade 2,5Hz.
Upptäckte nu att det är när jag har PIE1.ADIE = 1 (AD-interrupt enabled) som allt tar 5 gånger så lång tid.
Interrupt-hanteringen för den ser ut såhär:
Kod: Markera allt
if TestBit(PIR1,ADIF) = 1 then
PIR1.ADIF = 0
pot_lo = ADRESL
pot_hi = ADRESH
ADCON0.ADON = 1
ADCON0.GO_DONE = 1
end if
AD-klockan:
Kod: Markera allt
ADCON1.ADCS2 = 0 'AD Conversion clock: Fosc/32 = 250kHz
ADCON1.ADCS1 = 1 'AD Conversion clock: Fosc/32 = 250kHz
ADCON1.ADCS0 = 0 'AD Conversion clock: Fosc/32 = 250kHz
Fascinerande att man kan fastna så totalt på något som borde vara så enkelt.

Re: PIC16F688 Intern oscillator 8MHz
Av din beskrivning *låter det* som att du gör rätt.
Det går dock inte att veta, du kanske inte alls gör så som
du beskriver/tror i din faktiska kod, det kan jag inte kolla.
Att du skiver att det går just *5* gånger för sakta är lite
märkligt. 2, 4 eller 8 hade varit enklare att förklara.
Jag föreslår att du gör ett litet test-case som t.ex blinkar
en diod med en förväntat frekvens i assembler så får vi se.
Då går det enkelt att ladda den i MPSIM och testa...
Det går dock inte att veta, du kanske inte alls gör så som
du beskriver/tror i din faktiska kod, det kan jag inte kolla.
Att du skiver att det går just *5* gånger för sakta är lite
märkligt. 2, 4 eller 8 hade varit enklare att förklara.
Jag föreslår att du gör ett litet test-case som t.ex blinkar
en diod med en förväntat frekvens i assembler så får vi se.
Då går det enkelt att ladda den i MPSIM och testa...
-
- Inlägg: 349
- Blev medlem: 24 oktober 2008, 19:40:50
- Ort: Lomma
Re: PIC16F688 Intern oscillator 8MHz
Skrivfel? Är inte 2,5Hz 5ggr snabbare än 0,5Hz?JimmyAndersson skrev:Jag provade även att toggla en pinne med 0,5Hz men frekvensräknaren rapporterade 2,5Hz.
Re: PIC16F688 Intern oscillator 8MHz
Det *kan* vara så att det ska vara "sec" istället för "Hz"... 
Aja, skit samma igentligen. Det hela är ganska ointressant innan Jimmy
presterar ett test-case som uppvisare de beskriva fenomenen. Innan
dess blir det bara lite onödiga spekulationer och gissningar. Chansen
är dessutom ganska stor att Jimmy hittar "felet" själv när test-caset
görs i ordning, det brukar ofta vara så...

Aja, skit samma igentligen. Det hela är ganska ointressant innan Jimmy
presterar ett test-case som uppvisare de beskriva fenomenen. Innan
dess blir det bara lite onödiga spekulationer och gissningar. Chansen
är dessutom ganska stor att Jimmy hittar "felet" själv när test-caset
görs i ordning, det brukar ofta vara så...

Re: PIC16F688 Intern oscillator 8MHz
Jag kör microBasic Pro, och där kan man tex ange Delay_ms(1000). Alltså att allt ska pausa 1 sekund.
Det funkar bra om man sätter den interna klockan till 8MHz. Ändrar man, så ändras även delay-tiden.
Jag har ingen extern kristall.
Det funkar bra om man sätter den interna klockan till 8MHz. Ändrar man, så ändras även delay-tiden.
Jag har ingen extern kristall.
- JimmyAndersson
- Inlägg: 26586
- Blev medlem: 6 augusti 2005, 21:23:33
- Ort: Oskarshamn (En bit utanför)
- Kontakt:
Re: PIC16F688 Intern oscillator 8MHz
Jag bytte tillbaka till assembler igen för att göra ett litet test-case, men istället fick jag mer fel:
Jag fattar inte alls vad det beror på. Ja ja, jag förstår engelska, så jag förstår vad som *står* men inte vad det innebär eller hur man löser det.
Början på koden:
Det är troligen de två översta raderna i koden som är den stora orsaken till dessa nya fel.
Först skrev jag:
Processor PICxxFxxxx
#include <pxxfxxxx.inc>
men det blev ingen skillnad. Då letade jag upp den här tråden (eftersom jag mindes att jag haft problem med det där tidigare), men ändå ingen skillnad.
Jag stöter *alltid* på problem när jag försöker programmera PIC-kretsar.
Hade jag inte varit så jäkla envis så hade jag slutat för länge sedan.
Mina PIC-baserade projekt kan lätt ta en månad, effektiv tid, och då står framstegen för en halvtimma av tiden.
Jag lusläser databladen i timmar effektiv tid, tar promenader, läser igen, försöker igen och igen och igen,
gör något annat ett par dagar, provar igen, men icke.
Kod: Markera allt
Clean: Deleting intermediary and output files.
Clean: Done.
Executing: "D:\Program\Microchip\MPASM Suite\MPAsmWin.exe" /q /p16F688 "ledbelysning.asm" /l"ledbelysning.lst" /e"ledbelysning.err" /o"ledbelysning.o" /c-
Error[111] D:\PROGRAM\MICROCHIP\MPASM SUITE\P16F688.INC 182 : Missing symbol
Error[176] G:\PIC\ASM\PIC16F688\LEDBELYSNING\LEDBELYSNING.ASM 18 : CONFIG Directive Error: (processor "16F688" is invalid for CONFIG directive)
Error[176] G:\PIC\ASM\PIC16F688\LEDBELYSNING\LEDBELYSNING.ASM 19 : CONFIG Directive Error: (processor "16F688" is invalid for CONFIG directive)
Error[176] G:\PIC\ASM\PIC16F688\LEDBELYSNING\LEDBELYSNING.ASM 20 : CONFIG Directive Error: (processor "16F688" is invalid for CONFIG directive)
Error[113] G:\PIC\ASM\PIC16F688\LEDBELYSNING\LEDBELYSNING.ASM 60 : Symbol not previously defined (RAPU)
Message[305] G:\PIC\ASM\PIC16F688\LEDBELYSNING\LEDBELYSNING.ASM 198 : Using default destination of 1 (file).
Message[305] G:\PIC\ASM\PIC16F688\LEDBELYSNING\LEDBELYSNING.ASM 200 : Using default destination of 1 (file).
Warning[211] G:\PIC\ASM\PIC16F688\LEDBELYSNING\LEDBELYSNING.ASM 206 : Extraneous arguments on the line.
Halting build on first failure as requested.
BUILD FAILED: Mon May 24 15:30:30 2010
Början på koden:
Kod: Markera allt
list p=16F688
include "p16f688.inc"
;****************************************************
CONFIG OSC = INTRC_OSC_NOCLKOUT
CONFIG FCMEM = OFF, IESO = OFF, BOD = OFF
CONFIG MCLRE = ON, PWRTE = ON, WDT = OFF
errorlevel -302
;****************************************************
Först skrev jag:
Processor PICxxFxxxx
#include <pxxfxxxx.inc>
men det blev ingen skillnad. Då letade jag upp den här tråden (eftersom jag mindes att jag haft problem med det där tidigare), men ändå ingen skillnad.

Jag stöter *alltid* på problem när jag försöker programmera PIC-kretsar.
Hade jag inte varit så jäkla envis så hade jag slutat för länge sedan.
Mina PIC-baserade projekt kan lätt ta en månad, effektiv tid, och då står framstegen för en halvtimma av tiden.
Jag lusläser databladen i timmar effektiv tid, tar promenader, läser igen, försöker igen och igen och igen,
gör något annat ett par dagar, provar igen, men icke.
- tecno
- Inlägg: 27256
- Blev medlem: 6 september 2004, 17:34:45
- Skype: tecnobs
- Ort: Sparreholm, Södermanland N 59° 4.134', E 16° 49.743'
- Kontakt:
Re: PIC16F688 Intern oscillator 8MHz
Jisses, va fasen ska man ha för skärmupplösning för att se den hemsidan jojje?
Re: PIC16F688 Intern oscillator 8MHz
Normal?
Vill du inte investera i nya glasögon, har du ju alltid zoomen nere till höger.
Vill du inte investera i nya glasögon, har du ju alltid zoomen nere till höger.

Re: PIC16F688 Intern oscillator 8MHz
Jag behöver fortfarande ett *komplett* exempel som visar de fel du får !
De där "inledande raderna" kan jag inte ladda i MPLAB.
Är du helt säker på att du kan skriva CONFIG parametrarna så där för en PIC16 ?
Se "config" samt "__config" i MPASM manualen (eller i hjälp-filen).
De där "inledande raderna" kan jag inte ladda i MPLAB.
Är du helt säker på att du kan skriva CONFIG parametrarna så där för en PIC16 ?
Se "config" samt "__config" i MPASM manualen (eller i hjälp-filen).
- tecno
- Inlägg: 27256
- Blev medlem: 6 september 2004, 17:34:45
- Skype: tecnobs
- Ort: Sparreholm, Södermanland N 59° 4.134', E 16° 49.743'
- Kontakt:
Re: PIC16F688 Intern oscillator 8MHz


- JimmyAndersson
- Inlägg: 26586
- Blev medlem: 6 augusti 2005, 21:23:33
- Ort: Oskarshamn (En bit utanför)
- Kontakt:
Re: PIC16F688 Intern oscillator 8MHz
Sodjan:
Jag har inget komplett exempel än. Pga felen i förra inlägget (och i detta, mer om det nedan) så kan jag varken göra klart koden eller testa den.
Men här är den iallafall:
(Tabbarna går sönder lite när man klistrar in i forumet...)
På min maskin genererar den dessa felmeddelanden:
"_FCMEM_OFF" är kopierat från P16F688.INC och själva strukturen är kopierad från exempelkod jag fått tidigare.
(Har inte hittat något om config i MPASM-manualen.)
Jojje: Det har jag inte testat. Ska göra det lite senare.
edit: Hm.. står inget pris. Återförsäljaren verkar inte sälja till privatpersoner.
Jag har inget komplett exempel än. Pga felen i förra inlägget (och i detta, mer om det nedan) så kan jag varken göra klart koden eller testa den.
Men här är den iallafall:
Kod: Markera allt
;****************************************************
list p=PIC16F688
include "p16f688.inc"
;****************************************************
;
; PIC16F688. Intern oscillator på 8MHz.
;
; LED-belysning till etshyllan
;
; Lysdioder 1 - 6 : RC0 - RC5.
; Knapp (JP1) : RA4. (pin 3).
; JP2 : RA5. (pin 2.) - Satt som utgång eftersom den inte behövs än så länge..
; Pot: RA2. (pin 11.)
;
;
;****************************************************
__CONFIG _INTRC_OSC_NOCLKOUT & _FCMEN_OFF & _IESO_OFF & _BOD_OFF & _MCLRE_ON & _PWRTE_ON & _WDT_OFF
errorlevel -302
;****************************************************
; Definiera diverse namn...
#define KNAPP PORTA, 4
;****************************************************
knapp_vars udata_acs
knapplage res 1 ; Vilken knapp som tryckts ner
; det blir mer här senare..
;****************************************************
Boot CODE h'0000'
goto start
;****************************************************
Int_vect CODE h'0008'
; retfie
goto isr_rutin
;****************************************************
; MACRO
; kommer senare...
;****************************************************
Main CODE
Start
;Generell setup
bsf OPTION_REG, RAPU ;PORT A pull-ups disabled
bsf OPTION_REG, INTEDG ;Interrupt on rising edge of RA2/INT
bcf OPTION_REG, T0CS ;TMR0 internal clock
bcf WDTCON, SWDTEN ;WDT turned off
; Interrupt
bsf INTCON, GIE ;Global interrupt enable bit <--
bsf INTCON, PEIE ;Enable unmasked peripheral interrupts <--
bcf INTCON, T0IE ;Disable the Timer0 interrupt
bcf INTCON, INTE ;Disable the RA2/INT external interrupt <--
bsf INTCON, RAIE ;Enable the PORTA change interrupt <--
bcf INTCON, T0IF ;Timer0 did not overflow
bcf INTCON, INTF ;RA2/INT external interrupt did not occur
bcf INTCON, RAIF ;None of the PORTA-pins have changed state <--<<
movlw b'00010000' ;RA4 interrupt on change. <--
movwf IOCA
bcf PIE1, EEIE ;Disable the EE write complete interrupt
bsf PIE1, ADIE ;Enable the ADC-interrupt <--
bcf PIE1, RCIE ;Disable the EUSART receive interrupt
bcf PIE1, C2IE ;Disable the comparator C2 interrupt
bcf PIE1, C1IE ;Disable the comparator C1 interrupt
bcf PIE1, OSFIE ;Disable the oscillator fail interrupt
bcf PIE1, TXIE ;Disable the EUSART transmit interrupt
bcf PIE1, TMR1IE ;Disable the Timer1 overflow interrupt
clrf PIR1 ;Cleara alla interrupt
bcf PIR1, ADIF ;AD interrupt clear <--
; Klocka
bsf OSCCON, IRCF2 ;8MHz
bsf OSCCON, IRCF1 ;8MHz
bsf OSCCON, IRCF0 ;8MHz
bcf OSCCON, SCS ;Fosc = systemklockan
; I/O
movlw b'00010100' ;Allt till utgångar, bortsett från knappen och poten.
movwf TRISA
clrf TRISC ;Alla till utgångar, för lysdioderna.
clrf PORTA ;Tomt
movlw h'FF' ;Tomt (OBS: Inverterat för lysdioderna).
movwf PORTC
clrf WPUA ;Inga pull-ups
; Timers, comparators mm
bcf T1CON, TMR1ON ;Timer1 avstängd
bsf CMCON0, CM2 ;Comparators avstängda
bsf CMCON0, CM1 ;Comparators avstängda
bsf CMCON0, CM0 ;Comparators avstängda
bcf VRCON, VREN ;CVref powered down
; ADC
movlw b'00000100' ;AN2 (pin 11) analog. Resten digitala
movwf ANSEL
bsf ADCON0, ADFM ;Högerjusterad AD
bcf ADCON0, VCFG ;Vdd som referens
bcf ADCON0, CHS2 ;Channel: AN2 (pin 11)
bsf ADCON0, CHS1 ;Channel: AN2 (pin 11)
bcf ADCON0, CHS0 ;Channel: AN2 (pin 11)
bsf ADCON0, ADON ;ADC enabled <--
bsf ADCON0, GO_DONE ;AD-conversion in progress <-- OBS! Måste vara *efter* ADON !
bcf ADCON1, ADCS2 ;AD Conversion clock: Fosc/32 = 250kHz
bsf ADCON1, ADCS1 ;AD Conversion clock: Fosc/32 = 250kHz
bcf ADCON1, ADCS0 ;AD Conversion clock: Fosc/32 = 250kHz
; USART
bcf TXSTA, TXEN ;EUSART transmit disabled
clrf RCSTA ;EUSART port disabled
bcf BAUDCTL,ABDEN ;Auto-baud detect disabled
;****************************************************
;****************************************************
;****************************************************
loop
goto loop ;Om och om igen...
;
;****************************************************
;****************************************************
; Interrupt
isr_vars UDATA_ACS
flagga_knapp RES 1
pot_lo RES 1
pot_hi RES 1
isr_rutin CODE
isr_rutin
;Knapp-interrupt.
btfsc INTCON, RAIF ;PORTA change interrupt? Isåfall körs nästa rad.
btfss KNAPP ;Knappen som gett interrupt? Isåfall körs inte nästa rad.
goto slut ;Hoppa till slutet.
bsf flagga_knapp, 0 ;Sätt flaggan.
bcf INTCON, RAIF ;Clerara PORTA change interrupt.
bsf INTCON, RAIE
;Pot-interrupt.
btfss PIR1, ADIF ;AD-interrupt? Isåfall körs inte nästa rad.
goto slut ;Hoppa till slutet.
bcf PIR1, ADIF ;Cleara AD-interruptet.
movf ADRESL ;Innehållet i ADRESL till W.
movwf pot_lo ;..och vidare till pot_lo
movf ADRESH ;Innehållet i ADRESH till W.
movwf pot_hi ;..och vidare till pot_hi
bsf ADCON0, ADON ;Starta AD igen
bsf ADCON0, GO_DONE ;Ny avläsning
slut
retfie fast
;****************************************************
;****************************************************
;Delay-rutiner
DLY_VARS UDATA_ACS
d1 RES 1
d2 RES 1
d3 RES 1
DLY_CODE CODE
;Delay 1s (1,00056s)
Delay_1s
movlw 0x5A
movwf d1
movlw 0xCD
movwf d2
movlw 0x16
movwf d3
Delay_1s_0
decfsz d1, f
goto Delay_1s_1
decfsz d2, f
Delay_1s_1
goto Delay_1s_2
decfsz d3, f
Delay_1s_2
goto Delay_1s_0
nop
return
;Delay 5ms. (5,0003ms)
Delay_5ms
movlw 0x07
movwf d1
movlw 0x28
movwf d2
Delay_5ms_0
decfsz d1, f
goto Delay_5ms_1
decfsz d2, f
Delay_5ms_1
goto Delay_5ms_0
nop
nop
return
;Delay 1us.
Delay_1us
nop
nop
nop
nop
nop
nop
nop
nop
return
;****************************************************
end
På min maskin genererar den dessa felmeddelanden:
Kod: Markera allt
Clean: Deleting intermediary and output files.
Clean: Done.
Executing: "D:\Program\Microchip\MPASM Suite\MPAsmWin.exe" /q /p16F688 "ledbelysning.asm" /l"ledbelysning.lst" /e"ledbelysning.err" /o"ledbelysning.o" /c-
Error[111] D:\PROGRAM\MICROCHIP\MPASM SUITE\P16F688.INC 182 : Missing symbol
Error[113] G:\PIC\ASM\PIC16F688\LEDBELYSNING\LEDBELYSNING.ASM 18 : Symbol not previously defined (_FCMEM_OFF)
Error[113] G:\PIC\ASM\PIC16F688\LEDBELYSNING\LEDBELYSNING.ASM 58 : Symbol not previously defined (RAPU)
Message[305] G:\PIC\ASM\PIC16F688\LEDBELYSNING\LEDBELYSNING.ASM 196 : Using default destination of 1 (file).
Message[305] G:\PIC\ASM\PIC16F688\LEDBELYSNING\LEDBELYSNING.ASM 198 : Using default destination of 1 (file).
Warning[211] G:\PIC\ASM\PIC16F688\LEDBELYSNING\LEDBELYSNING.ASM 204 : Extraneous arguments on the line.
Halting build on first failure as requested.
BUILD FAILED: Mon May 24 17:00:07 2010
(Har inte hittat något om config i MPASM-manualen.)
Jojje: Det har jag inte testat. Ska göra det lite senare.

edit: Hm.. står inget pris. Återförsäljaren verkar inte sälja till privatpersoner.
Re: PIC16F688 Intern oscillator 8MHz
Jag fattar inte var FCMEM kommer från. Det finns inte med i din kod.
Och jag får inte heller något sådant fel när jag kör din kod.
Jag tror inte att de felmeddelanden som du visar kommer från den kod du visar !!
Det är en väldig fördel om felmeddelandena kommer från körning av *SAMMA*
kod som du postar...
> Symbol not previously defined (RAPU)
MPASM har helt rätt. Den finns inte. Bara att rätta...
> retfie fast
"fast" inte rellevant för en PIC16.
> Int_vect CODE h'0008'
Stämmer inte för en PIC16, ska vara h'0004'.
> isr_vars UDATA_ACS
Fel för en PIC16.
Jag bytte 0008 mot 0004 och ändrade UDATA_ACS till UDATA_SHR så byggde det "rent"...
Och jag får inte heller något sådant fel när jag kör din kod.
Jag tror inte att de felmeddelanden som du visar kommer från den kod du visar !!
Det är en väldig fördel om felmeddelandena kommer från körning av *SAMMA*
kod som du postar...
> Symbol not previously defined (RAPU)
MPASM har helt rätt. Den finns inte. Bara att rätta...
> retfie fast
"fast" inte rellevant för en PIC16.
> Int_vect CODE h'0008'
Stämmer inte för en PIC16, ska vara h'0004'.
> isr_vars UDATA_ACS
Fel för en PIC16.
Jag bytte 0008 mot 0004 och ändrade UDATA_ACS till UDATA_SHR så byggde det "rent"...
Senast redigerad av sodjan 24 maj 2010, 17:29:21, redigerad totalt 1 gång.