"Nop"komutu hakkında

Başlatan er-da, 20 Mart 2015, 01:48:54

er-da

merhabalar
"Nop"yerine Basic de eş değer  bir komut varmıdır? 10 adet Nop komutu tek komutta yazılablirmi?

edit:kusura bakmayın düzeltiyorum
xtal 20Mhz prescalar 1/1 instruction cycle 200ns proton basic de en az delayus 1 yazabiliriz yani olmaz.. 

gergy

Nop (no operation) bir assembler komutu olup 10 nop 10 cycle (FOSC/4) eder ki mikrokontrolörün çalışma frekansına bağlı olarak değer değişmekle birlikte hesaplanıp basicteki DELAYUS komutu tek başına kullanılabilir.

er-da

cavap için teşekkür ederim sorumu düzelmiştim bu ara  sağol..

gergy

Neden olmasın?

20 Mhz için 1 cycle = 20/4=5 Mhz yani periyodu 0,2 mikrosaniye eder ki 10 NOP komutu 10 cycle edeceğinden toplam süre 2 mikrosaniye edecektir, haliyle DELAYUS 2 komutu kullanılabilir.

er-da

Nop komutu genelde hassas ayarlar yaparken kullanılıyor.. sorumu açıklayıcı sormamışım hata bende......  daha açıklayıcı olarak şöyle diyeyim  araştımalarımda gördüm bu komut "asm" ile başlayıp "endasm" komutuyla  bitiyor ve gördüğüm kadarıyla hep alt alta yazılıyor yani örnek 13 Nop komutu  "Nop(13)" gibi yazılmıyor. her defasında ince ayar için kod değiştirip derleyip deniyorum .  demek istediğim  pic çalışırken bu komut dizisni buton  ile azaltıp  çoğaltmak gibi bir uygulama yapılabilirmi olacaktı .

F®T

bir for next döngüsü kur içinede nop yaz döngü değişkeninide ayarlayabilecek şekilde tanımla.olsun bitsin.
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

er-da

F.T hocam çok teşekkürler ..işte bu!!

for x =0  to  y
Nop
next

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.

er-da

  erken sevindim    :(  olmaz hocam ...
   
y=13 diyelim
for x= 0 to y :next   desek bile zaten 14 kere döngü sürecek ve  bu komutun  kendi gecikmesi olacak next komutundan önce  Nop yazmaya gerek kalamayacak yani 14 kere Nop komutunun gecikmesinin yerini tutmayacak. tutmadı da..

tam kod ve sim dosyalarını yarın yüklerim .. selamlar..


F®T

Tabiki komut gecikmesi göz ardı edilemez.ama çok sayıda nop komutu kullanıcaksan bu gecikmeyi göz ardı edebilirsin.
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

ete

Döngü ile NOP kullanmak pek akıllıca değil.  Zira 1 adet NOP bir komut çevrimi (4Mhzde 1 us) gecikme sağlar. Sana 10 adet lazım yada 10us lik gecikme lazım ise bunu döngü ile yaparsan gecikme 98us oluyor. Bunu TMR1 sayacını kullanarak ölçtüm. Demekki yaklaşık 88us lik bir komut gecikmesi devreye giriyor.  Hassas bir iş yapılırken pekde ihmal edilebilecek bir büyüklük değil bence.

Ete

Powered by EzPortal