Sida 1 av 1

config för PIC12F1572

Postat: 20 november 2015, 13:11:42
av Erik M
Normalt fungerar en __config som ser ut såhär:

Kod: Markera allt

	include	"P12F683.inc"
	__Config	_BOD_OFF	&	_INTOSCIO	&	_CPD_OFF	&	_CP_OFF	&	_MCLRE_OFF	&	_PWRTE_OFF	&	_WDT_OFF
När det kommer till PIC12F1572 förefaller det vara annorlunda.
Dvs ovan sätt att skriva, exemplevis...

Kod: Markera allt

	include	"p12f1572.inc"
	__config _FOSC_INTOSC & _CLKOUTEN_OFF & _WDTE_OFF & _PWRTE_ON & _MCLRE_OFF & _CP_ON & _BOREN_OFF _WRT_ALL & _PLLEN_OFF & _STVREN_OFF
...ger som svar:
(rad 5 är include... och rad 6 __config... nedan)
make -f nbproject/Makefile-default.mk SUBPROJECTS= .build-conf
make[1]: Entering directory 'C:/My PICs/_MCR_16F630_SSD_4_RaceLine'
make -f nbproject/Makefile-default.mk dist/default/production/_MCR_16F630_SSD_4_RaceLine.production.hex
make[2]: Entering directory 'C:/My PICs/_MCR_16F630_SSD_4_RaceLine'
"C:\Program Files (x86)\Microchip\MPLABX\mpasmx\mpasmx.exe" -q -p12f1572 -l"build/default/production/_ext/1278210284/12F1572_RLR_4_SSD.lst" -e"build/default/production/_ext/1278210284/12F1572_RLR_4_SSD.err" -w1 -o"build/default/production/_ext/1278210284/12F1572_RLR_4_SSD.o" "C:/My PICs/_MCR_16F630_SSD_4_RaceLine/12F1572_RLR_4_SSD.asm"
Error[112] C:\MY PICS\_MCR_16F630_SSD_4_RACELINE\12F1572_RLR_4_SSD.ASM 6 : Missing operator
Error[126] C:\MY PICS\_MCR_16F630_SSD_4_RACELINE\12F1572_RLR_4_SSD.ASM 6 : Argument out of range (not a valid config register address)
Error[126] C:\MY PICS\_MCR_16F630_SSD_4_RACELINE\12F1572_RLR_4_SSD.ASM 6 : Argument out of range (not a valid config register address)
nbproject/Makefile-default.mk:95: recipe for target 'build/default/production/_ext/1278210284/12F1572_RLR_4_SSD.o' failed
make[2]: Leaving directory 'C:/My PICs/_MCR_16F630_SSD_4_RaceLine'
nbproject/Makefile-default.mk:78: recipe for target '.build-conf' failed
make[1]: Leaving directory 'C:/My PICs/_MCR_16F630_SSD_4_RaceLine'
nbproject/Makefile-impl.mk:39: recipe for target '.build-impl' failed
make[2]: *** [build/default/production/_ext/1278210284/12F1572_RLR_4_SSD.o] Error 1
make[1]: *** [.build-conf] Error 2
make: *** [.build-impl] Error 2

BUILD FAILED (exit value 2, total time: 1s)
Så - hur ska config skrivas för PIC12F1572?

Och ja, jag har testat med config1 och config2 och delat mellan dem etc etc.
Inklusive med ett och två understreck, i första och inte positionen.

Vid sökning på nätet hittas bara exempel på hur man gör det i C, vilket för mig är ointressant.

Tacksam för svar.
Även var i databladet detta återfinns, om det står där.

Re: config för PIC12F1572

Postat: 20 november 2015, 13:25:34
av Icecap
Jag har inte uppdaterat MPLAB på länge men jag brukar leta reda på .h-filen för den givna µC. Sedan text-söker jag efter CONFIG och då brukar det lösa sig.

Är det en "enklare" PIC kan CONFIG ofta vara av typen:
__CONFIG(FOSC_INTOSC & WDTE_OFF & PWRTE_OFF & MCLRE_ON & CP_OFF & CPD_OFF & BOREN_OFF & CLKOUTEN_OFF & IESO_OFF & FCMEN_OFF);
__CONFIG(WRT_OFF & PLLEN_OFF & STVREN_ON & BORV_LO & LVP_OFF);
(saxat från ett gammalt projekt)

Re: config för PIC12F1572

Postat: 20 november 2015, 13:31:15
av sodjan
Det borde vara samma format som för de övriga 12F1xxx.
Så här ser det t.ex. ut i filen 12F1822TEMP.ASM som ligger i
/Program (x86)/MPLABX/V3.05/mpasmx/templates/Code/ hos mig:

Kod: Markera allt

;------------------------------------------------------------------------------
;
; CONFIGURATION WORD SETUP
;
; The 'CONFIG' directive is used to embed the configuration word within the 
; .asm file. The lables following the directive are located in the respective 
; .inc file.  See the data sheet for additional information on configuration 
; word settings.
;
;------------------------------------------------------------------------------    

    __CONFIG _CONFIG1, _FOSC_INTOSC & _WDTE_OFF & _PWRTE_OFF & _MCLRE_ON & _CP_OFF & _CPD_OFF & _BOREN_OFF & _CLKOUTEN_OFF & _IESO_OFF & _FCMEN_OFF
    __CONFIG _CONFIG2, _WRT_OFF & _PLLEN_OFF & _STVREN_OFF & _BORV_19 & _LVP_OFF

Re: config för PIC12F1572

Postat: 20 november 2015, 13:33:59
av H.O
12F1572 har 2 CONFIG register så du måste specificera vilka "inställningar" som ska till respektive register, typ:

Kod: Markera allt

__config _CONFIG1, _FOSC_INTOSC  &  _WDTE_ON  &  _PWRTE_ON  &  _MCLRE_ON .....
__config _CONFIG2, _WRT_OFF  &  _PLLEN_OFF ...... 
Äh, sodjan vad före, på samma tema.

Re: config för PIC12F1572

Postat: 20 november 2015, 13:34:33
av sodjan
Sorry... :-)

Re: config för PIC12F1572

Postat: 20 november 2015, 13:39:48
av sodjan
> Och ja, jag har testat med config1 och config2...

Ett exempel på hur det såg ut och resultatet vore intressant.

Re: config för PIC12F1572 (LÖST)

Postat: 20 november 2015, 14:41:21
av Erik M
Stort tack.
Tricket är alltså att hitta på ett helt nytt sätt skriva, jämfört med vad som gäller för de PIC jag använt hittills. :doh:

Janne, det blir liknande rappakalja som utan ettan och tvåan! :vissla:
Det som behövdes var att stapla __config _CONFIG1 ovanpå __config _CONFIG2.


MindreåmindrenumerapgaAlGore - .h-filer är för C~. Inte assembler.

Re: config för PIC12F1572

Postat: 20 november 2015, 14:55:52
av sodjan
> Tricket är alltså att hitta på ett helt nytt sätt skriva.

Inte alls. Det har alltid sett ut så på processorer med fler
än ett CONFIG register. Inget nytt som sådant. Däremot så
har nog äldre PIC12 tidigare klarat sig med ett CONFIG register.