PIC18F serisi için CONFIG ayarları...

Başlatan ahmet2004, 04 Aralık 2008, 15:38:20

ahmet2004

Sevgili ETE PicbasicPro'da PIC18F  serisi için CONFIG ayarları

nasıl yapılıyor veya yapılabiliyormu?

ete

18F serisi ile pek çalışmadım. İhtiyaç olmadı. O nedenle çok açık bir bilgi veremeyeceğim. Forumda pek çok arkadaş kullanıyor. Daha detaylı bilgi verebilirler.
Bir ara bir yerlerden aldığım bir başlık kısmı var. Aşağıda veriyorum. Bunları deneyerek bir şeyler ayarlayabilirsin.
INCLUDE "P18F452.INC" ; MPASM Header
@ __CONFIG _CONFIG1H, _HSPLL_OSC_1H
''     __CONFIG _CONFIG1H, _OSCS_OFF_1H & _XT_OSC_1H
'     ;__CONFIG _CONFIG1H, _OSCS_OFF_1H & _HS_OSC_1H
''     __CONFIG _CONFIG2H, _WDT_ON_2H & _WDTPS_128_2H
''     __CONFIG _CONFIG4L, _LVP_OFF_4L
'asm
'    __CONFIG _CONFIG1H, _XT_OSC_1H ; XT osc
'    __CONFIG _CONFIG2L, _BOR_ON_2L & _BORV_27_2L & _PWRT_ON_2L ; Enable Brown out voltage detect
'; Brown out voltage threshold 2.7 Volt
'    __CONFIG _CONFIG2H, _WDT_OFF_2H   ; Disable watch dog timer
'    __CONFIG _CONFIG3H, _CCP2MX_OFF_3H  ; Use default PORTC.1 for CCP2
'    __CONFIG _CONFIG4L, _STVR_ON_4L & _LVP_OFF_4L & _DEBUG_OFF_4L ; enable stack overflow
'; disable low-voltage programming mode
'; disable background debugger
'    __CONFIG _CONFIG5L, _CP0_OFF_5L & _CP1_OFF_5L & _CP2_OFF_5L & _CP3_OFF_5L  ; disable code protect (user block)
'    __CONFIG _CONFIG5H, _CPB_OFF_5H & _CPD_OFF_5H   ; disable code protect (boot block)
'    __CONFIG _CONFIG6L, _WRT0_OFF_6L & _WRT1_OFF_6L & _WRT2_OFF_6L & _WRT3_OFF_6L
'; disable write protect (user block)
'    __CONFIG _CONFIG6H, _WRTC_OFF_6H & _WRTB_OFF_6H & _WRTD_OFF_6H  ; disable Write protect CONFIG regs
'; disable write protect boot block
'; disable write protect Data EE
'   __CONFIG _CONFIG7L, _EBTR0_OFF_7L   ; Disable table Read protect user block
'   __CONFIG _CONFIG7H, _EBTRB_OFF_7H   ; Disable Read protect boot block enable
'endasm

Ayrıca bu işle ilgili olarak P18Fxxx.INC dosyasını incelemek gerek. Bunu MPASM klasörü içinde bulabilirsin.
Orada da şunlar var;

;Program Configuration Register 1H
;      __CONFIG    _CONFIG1H, _OSCS_OFF_1H & _RCIO_OSC_1H

;Program Configuration Register 2L
;      __CONFIG    _CONFIG2L, _BOR_ON_2L & _BORV_20_2L & _PWRT_OFF_2L

;Program Configuration Register 2H
;      __CONFIG    _CONFIG2H, _WDT_ON_2H & _WDTPS_128_2H

;Program Configuration Register 3H
;      __CONFIG    _CONFIG3H, _CCP2MX_ON_3H

;Program Configuration Register 4L
;      __CONFIG    _CONFIG4L, _STVR_ON_4L & _LVP_OFF_4L & _DEBUG_OFF_4L

;Program Configuration Register 5L
;      __CONFIG    _CONFIG5L, _CP0_OFF_5L & _CP1_OFF_5L & _CP2_OFF_5L & _CP3_OFF_5L

;Program Configuration Register 5H
;      __CONFIG    _CONFIG5H, _CPB_ON_5H & _CPD_OFF_5H

;Program Configuration Register 6L
;      __CONFIG    _CONFIG6L, _WRT0_OFF_6L & _WRT1_OFF_6L & _WRT2_OFF_6L & _WRT3_OFF_6L

;Program Configuration Register 6H
;      __CONFIG    _CONFIG6H, _WRTC_OFF_6H & _WRTB_OFF_6H & _WRTD_OFF_6H

;Program Configuration Register 7L
;      __CONFIG    _CONFIG7L, _EBTR0_OFF_7L & _EBTR1_OFF_7L & _EBTR2_OFF_7L & _EBTR3_OFF_7L

;Program Configuration Register 7H
;      __CONFIG    _CONFIG7H, _EBTRB_OFF_7H

;ID Locations Register 0
;      __IDLOCS    _IDLOC0, <expression>

;ID Locations Register 1
;      __IDLOCS    _IDLOC1, <expression>

;ID Locations Register 2
;      __IDLOCS    _IDLOC2, <expression>

;ID Locations Register 3
;      __IDLOCS    _IDLOC3, <expression>

;ID Locations Register 4
;      __IDLOCS    _IDLOC4, <expression>

;ID Locations Register 5
;      __IDLOCS    _IDLOC5, <expression>

;ID Locations Register 6
;      __IDLOCS    _IDLOC6, <expression>

;ID Locations Register 7
;      __IDLOCS    _IDLOC7, <expression>

;Device ID registers hold device ID and revision number and can only be read
;Device ID Register 1
;               DEV2, DEV1, DEV0, REV4, REV3, REV2, REV1, REV0
;Device ID Register 2
;               DEV10, DEV9, DEV8, DEV7, DEV6, DEV5, DEV4, DEV3

Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

ahmet2004

Şimdi şöyle bir yol buldum ama dolaylı.

Picbasicpro  directory içindeki 18F452.inc dosyasında değişiklik yapıyorum.

Ama program içinden hiç bir şekilde CONFIG ayarları yapılmıyor 18F serisi için.

;****************************************************************
;*  18F452.INC                                                  *
;*                                                              *
;*  By        : Leonard Zerman, Jeff Schmoyer                   *
;*  Notice    : Copyright (c) 2005 microEngineering Labs, Inc.  *
;*              All Rights Reserved                             *
;*  Date      : 12/16/05                                        *
;*  Version   : 2.47                                            *
;*  Notes     :                                                 *
;****************************************************************
        NOLIST
    ifdef PM_USED
        LIST
        "Error: PM does not support this device.  Use MPASM."
        NOLIST
    else
        LIST
        LIST p = 18F452, r = dec, w = -311, w = -230, f = inhx32
        INCLUDE "P18F452.INC"   ; MPASM  Header
        __CONFIG    _CONFIG1H, _OSCS_OFF_1H & _HS_OSC_1H
        __CONFIG    _CONFIG2H, _WDT_ON_2H & _WDTPS_128_2H
        __CONFIG    _CONFIG4L, _LVP_OFF_4L
        NOLIST
    endif
        LIST
EEPROM_START	EQU	0F00000h
BLOCK_SIZE	EQU	8


picbasicpro dir'i içindeki 18F452.inc dosyasını değiştiriyorum.Başka yol bulamadım.

ete

18F serisi PBP ile derlenmiyor biliyorsun. MCS , compile & program options menüsünde ASM başlığı altındaki MPASM kutusunu işaretlemen gerek.
Hatırlatayım dedim sadece.

Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

OG

proton ile çalışırsanız iş kolay,

Device 18F452 
XTAL = 20 
 @CONFIG_REQ 
' @__CONFIG config1h, OSCS_OFF_1 & HSPLL_OSC_1 
 @__CONFIG config1h, OSCS_OFF_1 & HS_OSC_1
 @__CONFIG config2l, BOR_ON_2 & BORV_45_2 & PWRT_ON_2 
 @__CONFIG config2h, WDT_OFF_2 & WDTPS_128_2 
 @__CONFIG config3h, CCP2MX_ON_3 
 @__CONFIG config4l, STVR_OFF_4 & LVP_OFF_4 & DEBUG_OFF_4 
 @__CONFIG config5l, CP0_ON_5 & CP1_ON_5 & CP2_ON_5 & CP3_ON_5 
 @__CONFIG config5h, CPB_ON_5 
 @__CONFIG config6h, WRTC_ON_6  


gibi.
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

ahmet2004

Evet biliyorum teşekkürler ETE.

ama bu dosya'daki config leri değiştirince HEX dosyası'na bu CONFIG leri yazıyor.

Denemek bedava...

Mesela

__CONFIG    _CONFIG1H, _OSCS_OFF_1H & _HS_OSC_1H


__CONFIG    _CONFIG1H, _OSCS_OFF_1H & _XT_OSC_1H


Hex içinde config XT olarak değiştiriliyor.