avatar_inventor

proton-float ve eprom

Başlatan inventor, 20 Ocak 2013, 15:08:33

Maxim

protonun yeni versiyonunda fRound diye bir komut var
bende yüklü değil
bu float sayıları yuvarlamamı yapıyor sadece? yoksa sizin işinizede yarar birşeymidir bilmiyorum

inventor

Yabancı sitelerde yuvarlama yaptığını okumuştum. Ancak basamak sayısını belirleyerek yuvarlayabiliyor diyordu birisi.
İlmin en büyük düşmanı, sabırsızlıktır. (Şems-i Tırmizi)

toprak

Sayin Inventor proton ıle ilgilenen birisi olarak sormak istediğim bir şey var.
İsiste basicde yazdığım değişkenleri watch wındow da izleyebiliyorum
Ama protonda yazdığımız değişkenleri nasıl izleyecegiz isiste?
Bu konuda bilginiz var mı?
Veya Bilgisi olan arkadaş var mı?
Saygılar
Kişi kesinliklerle başlarsa gideceği yer kuşkulardır, ama kuşkularla başlayacak kadar doygun ise kesinliklere ulaşır.

F®T

şimdi protonda şöyle oluyor.

1)ısıste işlemciye program fıle kısmında .bas dosyası yüklenir.
2)program çalıştırılır.
3)debug menusunden  watch wındow işaretlenir böylece ekranda penceresi açılır.
4)sonra programın çalışması pause ile durdurulur.
5)ekranda pıc cpu varıables penceresi açılır.
6)bu pencerede değişkenlerin name,address,valuekısımları vardır.bize eddress ve name lazım.
7)wındow watch penceresinin üzerinde sağ tıkla açıyoruz ve add ıtems (by address) tıklıyoruz.
8)sonra açılan pencerede name kısmına pıc cpu varıables penceresinden, görmek istediğimiz değişken ismi ne ise yazılır.
9)yine  pıc cpu varıables penceresinden address olarak değişken adresi address kısmına yazılır.adres yazarken 0x003A gibi çarpı işareti x(iks harfidir).
10)adres ve name den sonra aşağıda  data type ,değişkenimiz bıt mi,byte mı,wordmu ne ise işaretleriz.
11)yine aşağıda dısplayde değişkeni ne olarak görmek istiyoruz.bınary decımal hex vb. işaretlenir
12)add ile eklenerek başka bir değişken daha aynı şekilde girilebilir.ama tek ise done ile çıkılır.
13)simülasyon tekrar play yapılırsa değişkeni pencerede birebir göreceksin.
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

ete

Ferit,
Bu anlattığın normal prosedür. Bütün derleyiciler için geçerli sistem.
Protonun ekstra avantajı var. İsis de proton bas dosyasını kullanarak hem programın nerelere gittiğini hemde değişken değerlerini izleyebilirsin. Toprak onu soruyor.
Ete

F®T

hocam ben sadece değişkeni gözlemlemenin nasıl olacağı şeklinde anladım.başka bir konuda da isteği vardı. burdada görünce yazayım dedim.
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

toprak

Sonra deneyıp cevap yazarım.
Benim istediğim şudur. PBP da program yazarken degıskenlerın yanına bos adres yazınca ( mesela 16f628a da 58 veya 59 veya 60 gıbı genel boş adresler) bunu isiste ayarlama yaparak belirttiğiniz yerden izleyebiliyoruz. Yani isiste değişkenlerin aldığı değerlei simülasyon çalışırken görüyoruz
Aynı işlemi proton da nasıl yapıyoruz.
Yukarıdaki cevap buna göreyse deneyeceğım F.T
Saygılar
Kişi kesinliklerle başlarsa gideceği yer kuşkulardır, ama kuşkularla başlayacak kadar doygun ise kesinliklere ulaşır.

F®T

cevap istediğiniz gibi.
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

toprak

Doğru aradığım sorunun cevabı buydu.
Denedim oldu.
Bu tip başka kullanışlı özellikler var mı ?
Programı az çok (pbp ve proton) kullanıyorum ama bu tür şeyler çok kullanışlı.
Saygılar.
Kişi kesinliklerle başlarsa gideceği yer kuşkulardır, ama kuşkularla başlayacak kadar doygun ise kesinliklere ulaşır.

F®T

olduğuna sevindim.kolay gelsin.
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

toprak

Proton ile ilgili bu başlık altında bir sorunumu dile getirecem arkadaşlar.
PIC 12F675 kullanarak yaptığım bir devrenin programında (proton ile yazıldı) serin komutu ve tmr0 kesmesi kullandım.
Proton kullanmamım sebebi serin komutunda belli bir sure bekledikten sonra programın alt kısımlarının işlemesiydi.
Bu da benim için gerekli özelliği sağlıyordu.
Aynı program bazı pic12f675 lerde çalışıyordu bazı pic 12f675 lerde çalışmıyordu.
Bunun nedeni ne olabilir.?
Kişi kesinliklerle başlarsa gideceği yer kuşkulardır, ama kuşkularla başlayacak kadar doygun ise kesinliklere ulaşır.

F®T

bence yeni konu yeni bir başlık altında olmalı.neden?çünkü bu bir paylaşım forumu.bilgi ihtiyacı olan insan sorununu arama motoruna yazar ve o şekilde arar.bizde aynı yöntemi kullanıyoruz.onun için bu tip farklı başlık altında oluşan soru cevaplar bence karmaşaya yol açar.

soruya gelince.bir program çalışıyorsa çalışır.sorun işlemcinin kailitesinden.başka sebebi olmaz.
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

Hattuşa

slm yeni bir konu açmak istemediğim için konuyu buraya yazıyorum.
sorunum şu ete hocam basit bir çözüm bulamadım, yardımcı olmanızı istiyorum.
okuttuğum bir adc değerini virgülden sonra 2 hane daha ekrana print etmek istiyorum. buraya kadar sorun yok ama benim istediğim virgülden sonraki değerin 2. basamağı 0 ve 5 olarak yuvarlamasını istiyorum. örneğin ; 12,14 ise 12,10 değerini yazmak istiyorum veya 12,16 ise 13,00 değeri olarak ekrana print etmek istiyorum. acaba çokmu zor zira bir türlü düşünemedim...
isis ve bas dosyası ektedir.

ete

Bu istekde bir hata var gibi geliyor bana.
BAK=1214 ise sonucun 1210 yapılması son derece normal. Ama BAK=1217 ise sonucun 1300 değil 1220 olması gerekemz mi.
Birinde son haneyi dikkate alıyor diğerinde ise son iki haneyi dikkate almış oluyorsun.
Ben yinede isteğine uygun bir şey yaptım.

    BAK=1212
    BIR=BAK//100
    IF BIR=>15 THEN
      BAK=(BAK/100)*100+(BIR/15)*100
    ELSE
      BAK=(BAK/10)*10+((BAK//10)/5)*10 
    ENDIF

Burada mecburen bir if satırı kullanıyoruz. Şayet benim dediğim gibi olursa if kullanmadan tek formül ile iş hallolabiliyor.

Ete

Hattuşa

#29
Slm ete hocam. Soylediğiniz gibi benim istedigimde sizin bahsettiğiniz şekilde olacaktı ancak soruyu sormasını bile beceremiyorum sonuç olarak bir terazi yapmaya ve terazininde 50 gram hassasiyetine olması gerekiyor.Örnekteki 12.17  nin 12.20 olmasi lazimdi.


EDIT:
hocam cevabı cepten yazdım resmen türkçeyi katletmişim düzeltmek zorunda kaldım. bu arada dediğinizi uygulayacağım


Powered by EzPortal