16f628 i 16hmz kristal ile çalıştırmak

Başlatan hgungor, 14 Mayıs 2016, 23:00:56

hgungor

Bu programı microcode studio derleme hatası verdiği için şu şekilde düzelttim ama yine çalışmadı

@ DEVICEpic16F628A
@ DEVICEpic16F628A_WDT_OFF
@ DEVICEpic16F628A_PWRT_ON
@ DEVICEpic16F628A_PROTECT_OFF
@ DEVICEpic16F628A_LVP_OFF
@ DEVICEpic16F628A_MCLR_OFF
@ DEVICEpic16F628A_CPD_OFF
@ DEVICEpic16F628A_HS_OSC
DEFINE OSC 16
TRISA=%00000010
PORTA=0
TRISB=0
PORTB=0

CMCON=7

PAUSE 200

BASLA:
PORTA.2=1
GOTO BASLA
END

ete

Derleme hatası verdi deyip bir şey yapıyorsun ama bakalım doğrumu?
Üstelik bu düzelttiğin şekilde hata vermesi gerekirdi vermiyormu?
Çıkan hata mesajını burada versen sorunu çözmek için epeyce yardımı olabilirdi.

Sanki kodu 64 bitlik sisteme çeviriyorsun gibi geliyor bana ama hiç bir sisteme uymayan bir çevirim bu.
Bu durumda şu sorulara cevap ver lütfen,
- PC kaç bitlik (32 veya 64 bit)
- Hangi derleyici kullanıyorsun  (PBP Ver.3 veya PBP Ver.2.60 veya Proton veya bir başkası ise onu belirt)


Ete

hgungor

Bilgisayar windows7 64bit
hataların resimlerini çektim ekliyorum.
kullandığım pbp 2.6

ete

Tahminim doğru imiş.
Aşağıdaki linki okuyun oradakileri uygulayın lütfen.

http://etepic.com/index.php/topic,1687.0.html

Ete

hgungor

#19
burada yazılanları okudum ama tam olarak anlayamadım,

ASM
__config _CONFIG1, _HS_OSC & _WDT_ON & _LVP_OFF & _CP_OFF
ENDASM

bu yukarıya yazdığım  ifade bilgisayarımdaki PBP dosyasındaki M16F62xA içindemi olmalımı ? Benimkinde bunun yerine şunlar var(birkaçtanesini yazıyorum).

MCLR_OFF        equ     3FDF0000h       ; XX XXXX XX0X XXXX
BOD_ON          equ     3FBF0040h       ; XX XXXX X1XX XXXX
BOD_OFF         equ     3FBF0000h       ; XX XXXX X0XX XXXX
LVP_ON          equ     3F7F0080h       ; XX XXXX 1XXX XXXX

Ayrı ayrı aşağıda verdiğim ayarları denedim ama yine derleme hatası veri.

ASM
__CONFIG _HS_OSC & _WDT_OFF & _PWRTE_ON & _MCLRE_OFF & _BODEN_OFF & _LVP_OFF & _DATA_CP_OFF & _CP_OFF
ENDASM

ASM
__config _CONFIG1 _HS_OSC & _WDT_ON & _LVP_OFF & _CP_OFF
ENDASM

Birde verdiğiniz sayfada yazan bir yeri anlamadım, biz bu M16F62xA dosyasındaki fuse ayarlarını gösteren satırları başlarına noktalı virgül koyup bu dosyayı kaydetmemizmi gerekiyor. Şu şekilde (yine birkaç tanesini yazıyorum)

;MCLR_OFF        equ     3FDF0000h       ; XX XXXX XX0X XXXX
;BOD_ON          equ     3FBF0040h       ; XX XXXX X1XX XXXX
;BOD_OFF         equ     3FBF0000h       ; XX XXXX X0XX XXXX
;LVP_ON          equ     3F7F0080h       ; XX XXXX 1XXX XXXX



ete

Bana kalırsa okuduğunu anlamamışsın. Sırası ile yapılacakları anlatıyorum.
Öncelikle sigorta ayarların aşağıdaki şekilde olmalı;
@ __config _BODEN_ON & _BOREN_ON & _CP_OFF & _DATA_CP_OFF & _PWRTE_ON & _WDT_OFF & _LVP_OFF & _MCLRE_OFF & _HS_OSC 
DEFINE OSC 16
TRISA=%00000010
PORTA=0
TRISB=0
PORTB=0

CMCON=7

PAUSE 200

BASLA:
PORTA.2=1
GOTO BASLA
END


İkincisi C ana klasörü içinde yer alan PBP (yani derleyicinin ana klasörü) klasörü içinde yer alan,
16F628A.INC dosyasını program yükler gibi MCS içinde yükle.
Aşağı kısımda yer alan,
        __config _XT_OSC & _WDT_ON & _MCLRE_ON & _LVP_OFF & _CP_OFF
satırını bul ve başına ; koyarak aşağıdaki şekle getir.
;        __config _XT_OSC & _WDT_ON & _MCLRE_ON & _LVP_OFF & _CP_OFF
sonra bunu geri kayıt et.
Bu aşamadan sonra yukarıdaki sigorta ayarları ile verdiğim programı derle ve yeniden denemeni yap.

Ete

hgungor

ETE bey gerçekten çok teşekkür ederim sonunda yardımlarınızla çözüme ulaştım  :)

Powered by EzPortal