29 Eylül 2008 Pazartesi

Sakız, sigara ve bıyık..

Eğer bıyıklıysanız ve "sigara içmek yerine sakız çiğneyeyim.." diye düşünüyorsanız, sakııın balon yapmayın!!

Ve sakın sonra "böyle olmadı bari sigara içeyim" demeyin!! Yoksa sigara içmeye kalktığınızda, balon yapış eyleminden bıyıklarınıza yapışıp kalan sakız, sigaraya yapışır, sakızda, sigarada ağzınızda ööle birbirine yapışır kalır alim Allah..

Kaldı da..

24 Eylül 2008 Çarşamba

Bir packet için pointer tanımlanır. Paket header kısmına kullanıcı yeni bir başlık structı ekleye bilir. Bunu yapabilmek için paket manager da aşağıdaki ayar yapılmalıdır;

int hdr_mm::offset_;

// Mulitmedia Header Class
static class MultimediaHeaderClass : public PacketHeaderClass {
public:
MultimediaHeaderClass() : PacketHeaderClass("PacketHeader/Multimedia",
sizeof(hdr_mm)) {
bind_offset(&hdr_mm::offset_);
}
} class_mmhdr;

Bundan sonra artık üretilen paketlerde yeni başlık bilgisi için de bir alan açılır.

23 Eylül 2008 Salı

C++ ve Sınıf Türetme..

Taban sınıftan yeni bir sınıf türetilirken : atomu kullanılır;

class turemisSinif : public tabanSinif{} Bu komut ile, sınıf bilinirlik alanı dışında, türemiş sınıf taban sınıfa ait olan tüm public fonksiyon ve değişkenlere erişebilir, ancak sınıf bilinirlik alanı içerisinde, hem public hemde protected fonksiyon ve değişkenlere erişebilir.

Türemiş sınıfın kurucu fonksiyonu çalıştırıldığında, önce taban sınıfa ait kurucu fonksiyon çalıştırılır sonrasında türemiş sınıf kurucu fonksiyonuna geçilir.

Eğer varsayılan kurucu fonksiyon dışında bir kurucu fonksiyon çağrılacaksa;

turemisSinif :: turemisSinif() : tabanSinif(parametre){} şeklinde çağrılabilir.

22 Eylül 2008 Pazartesi

Assembly, Jal, Pic Basic Pro..

Şu kısa zaman içerisinde önce assembly ile başlayıp, sonrasında "bu ne lan, kaç satır oldu bu kod!?!" şeklinde şaşırmam ilen beraber JAL kardeşimize geçmemle ve ardı sıra "anaa, ne kolay oldu beah!" diyerek şaha gelişimi takiben Pic Basic Pro üstat ile şans eseri karşılaşmam sonucu "bu iş son noktadır abicim!" dememlen son bulan serüvenim sonucunda Pic Basic Pro da karar kılmış bulunmaktayım..

Kral Pic Basic Pro!

Bekleyin robot alemi, ben geliyorum..

21 Eylül 2008 Pazar

Pic programlama ve assembly..

LIST    p=16F628 ; PIC16F844 is the target processor
#include "P16F628A.INC" ; Include header file

sayac1 equ 0x20
sayac2 equ 0x21
sayac3 equ 0x22
sayac4 equ 0x23

basla
bsf 0x03, 5 ; Statusun 5. bitini 1 yap yani bank 1 seçili
   movlw b'00000000' ; w rege 0 aktar
   movwf 0x86 ; TrisB yi sıfırla yani tüm B portlari çıkış
movwf 0x85 ; TrisA yi sıfırla yani tüm A portlari çıkış
bcf 0x03, 5 ; Statusun 5. bitini 0 yap yani bank 0 seçili
yak
movlw b'11111111';w registerine 1 leri doldur
movwf 0x05;sonra bu birleri PORTA ya yolla yani ledleri yak
call bekle1sn
movlw b'00000000';w registerine 0 ları doldur
movwf 0x05;sonra bu sıfırları PORTA ya yolla yani ledleri söndür
call bekle1sn
goto yak

; azalttan itibaren 3 saykıl, bu durumda 0,00000075 zamanda bir
;dongu tamamlanıyor. Bir milisaniye yani sn nin 1/1000 i için
; yaklaşık 1332 kez dönmeli. Bu durumda sayac 222 yapılır ise
;altı kez döndürülür ise bir ms geçmiş olur..
bekle1msn
movlw d'222'
movwf sayac1
movlw d'6'
movwf sayac2
azalt1ms
decfsz sayac1, 1
goto azalt1ms
decfsz sayac2, 1
goto azalt1ms
return

bekle10msn
movlw d'10'
movwf sayac3
azalt10ms
call bekle1msn
decfsz sayac3, 1
goto azalt10ms
return

bekle1sn
movlw d'100'
movwf sayac4
azalt100ms
call bekle10msn
decfsz sayac4, 1
goto azalt100ms
return
end

19 Eylül 2008 Cuma

Bilgiler..

mutable anahtar sözcüğü ile tanımlanan sınıf elemanları, sınıfa ait const fonksiyonlar tarafından da değiştirilebilir.

Const ve Pointer..

int x = 1;
const int *ptr = &x;
dediğimizde artık *ptr integer tipinden bir nesneye işaret etmektedir. Ancak const olarak tanımlandığından yani gösterdiği nesne consttur dendiğinden bu nesneye bir atama yapamaz. Yani aşağıdaki satır yanlıştır.
*ptr = 8; Ancak ptr bir başka nesneyi gösterecek şekilde sonradan ayarlanabilir.

int x = 1;
int const *ptr = &x;
dediğimizde ise artık kendisi const olan integer tipinde bir alanı işaret eden bir pointer tanımlamış oluruz. Pointerın gösterdiği nesnenin değeri yani *ptr ye bir atama yapılabilir ancak ptr nin bir başka nesneyi göstermesi sağlanamaz.

Eğer const int const *ptr = &x; şeklinde bir tanımlama yapmış olsaydık bu durumda hem işaret edilen adres yani ptr hem de işaret edilen nesne yani *ptr değiştirilemez olurdu..