Picbasic kod hatası anlam veremedim ?

Başlatan ylmz, 14 Kasım 2011, 20:58:01

ylmz

Arkadaşlar merhaba
pic basic ile yazdığım programın ayarlarını
şu şekilde yapıyorum
@ DEVICE PIC16F628A
@ DEVICE PIC16F628A, WDT_ON
@ DEVICE PIC16F628A, PWRT_ON
@ DEVICE PIC16F628A, BOD_ON
@ DEVICE PIC16F628A, PROTECT_OFF
@ DEVICE PIC16F628A, LVP_OFF
@ DEVICE PIC16F628A, CPD_OFF
@ DEVICE PIC16F628A, INTRC_OSC_NOCLKOUT

Fakat her ne hikmetse sürekli şu hatayı alıyorum

İllegal optocode
programımı komple sildim sadece bunları derlemeye calıştım yine aynı hata ile karşılaştım
bazı arkadaşlar yukarıdan işlemciyi yanlış seçmiş olabılırsın dıyecektır belkı ama işlemci seçimide doğru ?
hadi vaz geçtım 628 den bu ayarları 818 e göre yaptım işlemci seçiminide ona göre ayarladım ama sonuç yıne negatif yıne aynı hatayı alıyorum
mecburen bunları sılıp programı derlıyıp sonra icprog da sıgorta ayarlarını yapıp atıyorum işlemciye bu neden kaynaklanır ?
pic basic pro nun ayarlarından bıyermı eksik acaba ? bı fıkrı olan varsa paylaşırsa sevınırım  :'(
Regülatör Dns Trafo | Regülatör | Redresör | Ups

justice_for_all

Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

ylmz

Dostum onları sıldım sadece @ DEVICE PIC16F628A
bunu derlemeye calışıyorum yıne hata verıyor anlamadım gıttı :'(
Regülatör Dns Trafo | Regülatör | Redresör | Ups

-Hasan-

Alıntı yapılan: justice_for_all - 14 Kasım 2011, 21:08:53
BOD_ON yerine BOR_ON  olmasin sakin

BOD_ON olacak hocam.




ylmz bir de DEVICE tanımlamalarını kaldırarak derlemeyi denermisin? eğer bu şekilde derliyorsa ASM ayarında bir hata vardır. Bir ara ben de karşılaşmıştım.

ylmz

o zaman derlıyor bunları sılınce ama proteus da calışma tyapıcam bunları yapmam şart yoksa proteus dırek hata verıyor
Regülatör Dns Trafo | Regülatör | Redresör | Ups

ete

MCS de View menüsünde Compile & Program Options seçeneğinde Assembler (ortadaki buton) seçeneğine bakınız. MPASM kutusu işaretlimidir?.
Muhtemelen işaretli olduğu anlaşılıyor. İşareti kaldırın ve yeniden derleyin.

Ete

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

-Hasan-

ETE hocam PBP ' nin ASM derleyicisiyle, MPASM ASM (Use MPASM İşaretlediğimizde) derleyicisi arasında ne gibi farklar oluyor peki?

ylmz

#7
Sayın ete bunu denedım zaten daha öncede değişen bişey olmuyor bu config ayarlarını mecburen yıne icprogda yapıcam galıba farklı bi çözüm varmı bıldıgın ?
o seçeneği kaldırınca
Undefined symbol 'pic16f628a' dıyor
Regülatör Dns Trafo | Regülatör | Redresör | Ups

ete

PC şayet 64 bitlik bir makina ise mutlaka derlemenin MPASM aracılığı ile yapılması gerekiyor. Bu bir zorunluluk. Makinanız 32 bit ise zorunlu değilsiniz. Ancak isteseniz yine MPASM yi kullanarak derleme yapabilirsiniz. MPASM yi kullandığınız müddetçe yapmanız gereken iki husus var. Bunlar;
1. Config ayarlarını MPASM nin kabul ettiği şekilde yapmanız gerekir. Bu ayarların nasıl olduklarını ise MPASM kalasöründe yer alan ve işlemciye ait olan P16Fxxx.INC dosyasına bakarak öğrenebilirsiniz.  MPASM de Config formatını ise bu sefer PBP2xx klasöründe yer alan işlemciye ait 16Fxxx.INC dosyasında görebilirsiniz. Zaten bu dosya içinde yer alan MPASM seçeneğine ait satırı kapatıp yeniden kayıt yapmazsanız derleme esnasında aynı satırların ikinci defa işlenmesinden kaynaklanan bir hata alırsınız. Dolayısıyla MPASMile çalışacaksanız işlemciye ait INC dosyasındaki MPASM ile ilgili config satırlarını kapatıp yeniden kayıt etmeniz gerekir.
2. Dolayısıyla PBP klasöründe yer alan işlemciye ait *.INC dosyası içinde yer alan MPASM seeneği için Config satırını kapatmanız gerekiyor.

Örnek vereyim. 16F628 için PBP klasöründe yer alan INC dosyasında kapatmanız gereken satır  aşağıdaki şekildedir.
else
        LIST
        LIST p = 16F628, r = dec, w = -302
        INCLUDE "P16F628.INC"   ; MPASM  Header
        __config _XT_OSC & _WDT_ON & _PWRTE_ON & _MCLRE_ON & _LVP_OFF & _CP_OFF   'kapatılacak satır budur başına bir noktalı virgül koyarak satırı kapatıp yeniden kayıt ediniz.
        NOLIST
    endif


Derlemeler arasında fark yok.

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

ylmz

ete o satırları kaydettım zaten daha öncede yaptığım yöntem oldu bu pbp klasörü içerisinden yaptım ama değişen yine bişey olmadı  :-\
Regülatör Dns Trafo | Regülatör | Redresör | Ups

ete

Ylmz,
Her şeyi yapmış gözüküyorsun ama ortada sorun hala devam ediyor. Senin açıklamana göre bende bir deneme yaptım.
MPASM yi seçerek tek satır Config komutu yazarak derleme yapmaya çalıştım ve aldığım hata illgeal opcode hatası oldu.
Ama ayrıca "Found Label After Column 1" şeklinde bir hatayıda veriyor.
MPASM seçimini kaldırırsam her şey normale dönüyor ve derleme kusursuz yapılıyor.
Anlayacağın sorun senin makinanda yada çalıştırdığın programlardadır .

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

ylmz

işletim sistemim vista dediğin gibi bende aynı hataları alıyorum ama o tık ı kaldırıncada hata devam edıyor makınam 64 bıt leptop samsung r580 kalite cihaz işletim sisteminden olabılırmı acaba ? kullandıgın işletim sistemi nedir ? xp mi ?
Regülatör Dns Trafo | Regülatör | Redresör | Ups