avatar_umiter

Picbasic Pro 3 | Sigorta Tanımları Hakkında

Başlatan umiter, 13 Ocak 2013, 23:00:53

umiter

Merhaba,

PBP 3 Kaynak Kodu:
------------------------------------------------------------------------

@ DEVICE pic16F88, INTRC_OSC_NOCLKOUT  'Dahili Osilator
TRISB = %00000000
SYMBOL motor1 = PORTB.4

Hareket1:

HIGH motor1
pause 3000
LOW motor1
pause 500

goto hareket1
------------------------------------------------------------------------


Kod derlenmesi esnasında derleyicide;

[ASM ERROR] : Illegal opcode (pic1688)
[ASM WARNING] : Found label after column 1. (DEVICE)



Yukardaki kodda derleyicinin hatasını nasıl ortadan kaldırabilirim ?

Saygılarımla.
Bilgi elde edilmesi zor,  tüketilmesi kolay bir bulamaçtır.

onurinci

MicroCodeStudio MCS'de
Sırası ile
View
Compile and program options
Assembler
Use MPASM     kutusunda işaret var ise kaldır

TurKuaZ

Alıntı yapılan: onurinci - 14 Ocak 2013, 00:57:51
MicroCodeStudio MCS'de
Sırası ile
View
Compile and program options
Assembler
Use MPASM     kutusunda işaret var ise kaldır
bu yöntem pbp3 te olmuyor malesef,
bende winXp 32Bit kullanıyorum.
ete hocanın konusundaki şu satırları uyguladım ve mpasmx i şectim compiler and program options'tan
Konu-->http://etepic.com/index.php/topic,300.0.html
Alıntı YapŞimdi de 64 bit makinalar için ve ayrıca 18F serisinin derlenmesi için gerekli açıklamaları yazalım.
Bu işlem view menüsünde MPASM kutusu seçilerek yapılacaktır. Bu şekilde derle butonuna bastığınızda makina direk derleme işlemine geçecek ve muhtemelen bir takım hatalar bulacaktır. Bunun sebebi şudur;
Derleme işleminde Basic hem işlemcinin orjinal INC uzantılı dosyasını hemde MPASM içinde yer alan P18Fxxx.INC dosyasını kullanır.  Her iki dosyada da sigorta ayarları konusudna komut satırları bulunmaktadır. Bu nedenle birinden birisi kapatılması gerekir. Aksi halde aynı komut satırı iki defa işlenmiş olurki derleyici bu durumda owerwrite hatası verir. Bu hatayı önlemek için yapılması gerekenler şunlardır.
1. Her şeyden önce programınızda baş taraflarda yazdığınız sigorta ayarları formatını MPASM 'ye göre değiştirmek gerekiyor.
Format'ın nasıl olduğunu  derleyici kalsöründe yar alan 16Fxxx.INC dosyasını açarak görebilirsiniz.
Örnekle açıklayalım. PBP kalsöründe yer alan 16F628A.INC dosyasını MCS içinde açıyorum. Alt kısıma doğru 1 adet config satırı görüyoruz. Bu satırda şunlar yazılı;
;        __config _XT_OSC & _WDT_ON & _MCLRE_ON & _LVP_OFF & _CP_OFF
öncelikle bu satırı başına bir ";" işareti koyarak kapatıyor ve dosyayı geri kayıt ediyoruz.

Sonra kapatılan satırdaki formatı programımızda sigorta ayarları formatı olarak kullanıyoruz.
Şöyle,
@ __config _XT_OSC & _WDT_ON & _MCLRE_ON & _LVP_OFF & _CP_OFF
@ işaretinden sonra bir boşluk verilecektir bu verilmez ise derleme hatalı sonuçlanır.
Bu satıra başka sigorta ayarlarıda eklenebilir. Yapılması gereken bir & işareti ekleyip sigorta ayarını _xxxx şeklinde eklemek olacaktır.

Bu şekilde hazırlanmış program artık MPASM de derlenebilecektir.  Bu sistemi hem 32 bit makinalar hemde zorunlu olarak 64 bit makinalar kullanabilirler.

exsenim


ete

Soru çok açık değil. Bir çok anlam çıkartılabilir. Çünki verilen kod parçası PBP3 için yazılmış değil bana kalırsa. Kodlar (sigorta ayarları) tamamen PBP2 ye göre yazılmış.
Sigorta ayarını PBP3 formatında yazmak isterseniz 16F88 için;

#CONFIG
CONFIG1, _CP_OFF & _CCP1_RB0 & _DEBUG_OFF & _WRT_PROTECT_OFF & _CPD_OFF & _LVP_OFF & _BODEN_OFF & _MCLR_OFF & _PWRTE_OFF & _WDT_OFF & _INTRC_IO
CONFIG2, _IESO_OFF & _FCMEN_OFF
#ENDCONFIG


şeklinde deneyin.

Ete

Powered by EzPortal