Haberler:

Forum kuralları güncellendi LÜTFEN  okuyunuz:  https://bit.ly/2IjR3ME

Ana Menü

PicBasic de Makro

Başlatan tekniker_murat, 02 Şubat 2009, 04:58:50

tekniker_murat

Arkadaşlar selamun aleyküm
Micro Code Studio da ben bir program yazdım diyelim ve bu programın komutlarını bir sayfa olarak pbp klasörüne atacağım include dosyası şeklinde ve micro code studio programının editörünede örneğin DS18B20_oku şeklinde bir komut yazacağım yazdığım bu komut ile pic ds 18b20 yi okuyacak sonuç olarak istediğim şekilde lcdye basacak Fakat buradaki lcd nin bağlantı şeklini pin tanımlamalarını vs o include şeklinde yazacağım dosyanın içinden değiştrebileceğim yada tamamen iptal edip okuduğu değeri picin istenilen pininden asenkron seri iletişimle yollayabileceğim tabii ki burada yollamak istediğim değişkenlerin formatını vs şekillerini o include şeklinde atacağım dosyanın içinden değiştirip kontrol edeceğim fakat benim asıl merak ettiğim bu şekilde bir çalışma mümkün mü

yani include olarak yazdığım txt dosyasındaki inc uzantılı dosyayı programa bildirip bir komut üretilebilir mi ?


micro code studioya yazmak istediğim programın örnek gösterimi :

include "ds18b20.bas"
cmcon=7
ansel=0
basla:
ds_isi_oku
serout gpio.0,n2400,[isaret,tam_deger,nokta,onda_degeri]
goto basla
end



ds18B20 için include olarak ayarlamak istediğim asıl işi yapan programın komutlarına örnek

SYMBOL DQ=gpio.1
MEM VAR BYTE
ISI VAR WORD
HAM VAR WORD
TA1 VAR WORD
TA2 VAR WORD
TA3 VAR WORD
TA4 VAR WORD
TA5 VAR WORD

PAUSE 200
BASLA:
OWOUT DQ,1,[$CC,$44]
DONGU:
OWIN DQ,4,[ISI]
IF ISI=0 THEN DONGU
OWOUT DQ,1,[$CC,$BE]
OWIN DQ,2,[HAM.LOWBYTE,HAM.HIGHBYTE]

IF HAM.BIT11=0 THEN HESAPLA
IF HAM.BIT11=1 THEN HESAPLA1
GOTO BASLA


HESAPLA:
TA2=HAM.LOWBYTE
TA2=TA2//16
TA2=TA2/2
TA2=TA2*125
ta2=ta2/10


TA1=HAM//16
TA1=HAM-TA1
TA1=TA1/16
'lcdout $fe,1," tekniker_murat"
'LCDOUT $FE,$C0,"+",#TA1,".",#TA2
'LCDOUT $FE,$C5,"C"
GOTO BASLA

HESAPLA1:
TA3=$FFFF-HAM+1
TA4=TA3//16
TA4=TA4/2
TA4=TA4*125
ta4=ta4/10


TA5=TA3//16
TA5=TA3-TA5
TA5=TA5/16
'lcdout $fe,1," tekniker_murat"
'LCDOUT $FE,$C0,"-",#TA5,".",#TA4
'LCDOUT $FE,$C5,"C"
GOTO BASLA

END
[email]murat.yagci.1984@gmail.com[/email]

ete

Include komutu bu iş için üretilmiş olup, satndart program parçalarını ayrı kayıt edip bir başka programa include (dahil etmek) yapabilirsin.
AMa giriş çıkış pinleri ile o programda kullanılan değişkenlere dikkat etmen gerek. Aynı değişkenler yeni programda tanımlanamazlar ve aynı giriş çıkış pinleri bir başka iş için kullanılamazlar.

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

tekniker_murat

Sn ETE hocam ilgi,alaka ve hassasiyetinizden dolayı çok teşekkür ederim.
Bu konuda bir tane uygulamalı örnek gösterebilirmisiniz örneğin ds_isi_oku komutunu oluşturabilmemiz için neler yapmalıyız bu dsyi gerçekten okuyan komutları nasıl include etmeliyiz daha ayrıntılı bir şekilde konuyu açabilirmisiniz.Daha önceden sizin tarafınızdan hazırlanmış picbasic konusunu bütün detayları ile anlatan 11 adet ders notlarınız var elimde ve her biri ayrı birer şaheser denecek kadar kıymetli fakat içlerinde bu konuyu göremedim ayrıca bu tür forumlarda bilgilerinizi paylaştığınız için tüm forumdaki arkadaşlar adına TEŞEKKÜR ederim.
[email]murat.yagci.1984@gmail.com[/email]

ete

Ben bu metodu pek kullanmam o nedenle elimde örnek yok. Ancak örneğede ihtiyaç olduğunu sanmıyorum. Sen kendi örneğinin başında vermişsin nasıl kullanıldığını aynen öyle yapacaksın. Program içinde de sanki o program yazdığın program içinde imiş gibi gosub sensoroku gibi komutlarla gidip sensörü okuyacaksın. Programı derlediğin zaman zaten derleyici o programı yerinden alacak ve senin program içine yazacaktır. Aradaki tek fark sen yeniden o kısmı yazmamış olacaksın hepsi bu. Bir iki deneme yap göreceksin.

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

tekniker_murat

Sn ETE hocam çok teşekkür ederim bir deneyelim bakalım sonuç ne olacak  :roll:   :lol:
[email]murat.yagci.1984@gmail.com[/email]