Kayıtlar

software etiketine sahip yayınlar gösteriliyor

basic dili ile neler yapılabilir

Resim
Basic dili günümüzde birçok alanda kullanılan bir dil. Adı nedeniyle yanlış anlaşılan bir dil olabiliyor, BASIC kelimesi Türkçe basit olarak çevrilse de, aslında durum öyle değil. BASIC (  B eginner's  A ll-Purpose  S ymbolic  I nstruction  C ode  ) kelimesinin açılımının Türkçesi yeni başlayanlar için sembolik talimat kodları şeklinde çevrilebilir. Gerek gömülü sistemlerde gerekse bilgisayar masaüstü mobil tarafında kullanılmakta. Aslında makina diline uzak olsa da, algoritmaya en yakın olduğu da bir gerçek. Ayrıca windows işletim sisteminin bazı bölümlerinin basic ile yazıldığından wiki sayfasında bahsedilmektedir. Bu dille yapılabilecekleri bu yazıda anlatmanın faydalı olacağını düşünüyorum. Şimdiye kadar bu dil ile yapılabilecekleri geniş kapsamda anlatan bir yazı ile karşılaşmadım, bu nedenle yazıyı çeşitli alıntılar ile desteklemeyi doğru buldum. Umarım faydalı olacaktır. Öncelikle Basic Dilinin bir geçmişine wiki üzerinden bakmakta fayda var...

pic basic pro yazılımsal reset nasıl atılır

Resim
Çalıştığım projelerde pic18f serisi veya yukarısı kullandığımda yazılımsal reset ihtiyacı olduğunda, aşağıdaki komut ile yazılımsal olarak mcu ya reset atmak çok kolay. Reset  istendiğinde bu etikete gitmek işlemi tamamlıyor. Asm komutu kullanarak sorunu çözebiliyoruz. WDT kapalı olsa da çalışır. reset_etiketi: asm @reset endasm goto reset_etiketi Ancak 16f serisi bir pic mcu kullanıyorsanız bu kadar kolay değil. Bu çalışan kod parçasını bulmak 3 saatimi aldı :) Çalışması için WDT açık olmalı. reset_etiketi:   asm @clear @clrf PCLATH @goto 0 endasm goto reset_etiketi Görüldüğü gibi kod parçacığı yazılımı ilk adres satırına ulaştırmakta.  10f 12f ve 16f serisi piclerde bu kodu kullanabilirsiniz. Bu asm kodlarını diğer derleyici ve dillerde de kullanabilirsiniz. İstediğiniz zaman pic mcu yu baştan başlatmanızı sağlayacaktır. Kodun çalışabilmesi için watch dog timer açık olmalıdır. Tabi watch dog timer a güvenemiyorsanız bu komutu kodların arasına serp...