Friday, November 12, 2010

Lingkup variabel

Variabel Global

Yaitu variabel yang bisa diakses semua fungsi. Variabel ini bisa dimodifikasi suatu fungsi dan nilai outputnya bisa dipakai fungsi lain. Secara default, variabel ini diset ke nilai 0 saat main() dijalankan.

Variabel Lokal

Pengertiannya, varaiabel yg hanya bisa diakses fungsi dimana variabel itu dideklarasikan.


Konstanta

Seperti udah disebutin dulu, konstanta adalah nilai yang tetap. Ia diletakkan di ROM dalam chip, karena g berubah nilainya.

Konstanta Numerik

Konstanta numerik bisa dideklarasikan dengan berbagai cara :

• Desimal >> 1254
• Biner >> dengan awalan 0b misal 0b1010
• hexa desimal >> dengan awalan 0x, contohnya 0xff
• octal dengan awalan 0, misal0999
bisa juga dalam menulis konstanta sekalian dengan deklarasi tipe variabelnya:

*unsigned integer dengan akhiran U>> 1000U
*long integer dengan suffix L >> 99L
*unsigned long integer dengan suffix UL >>99UL
*floating point dengan suffix F>>1.234F
*karakter, ditulis dengan tanda petik 'a' atau 'B'


Enumerasi

Enumerasi tuh konstanta yang berurut, biar jelas, liat contohnya:

enum {start=10, next1, next2, next3};
brati nilai dari next 1 adalah 11, next2 adalah 12, dan brapa hayo buat next3 ? Ya 13 lah.

Definition

definition dipakai untuk aliasing, fungsinya buat bikin suatu teks/nilai punya arti yang menyamai suatu teks lain. Misalkan

#define nyala PORTA

, artinya setiap ada teks “nyala” nanti compiler ngenalinya sebagai PORTA, kata “nyala” cuma membantu programmer dalam memudahkan nulis program. Manfaat dari definition ini, misal di programmu banyak kata PORTA, dan itu udah di aliaskan dengan kata nyala, maka saat ada kesalahan/kamu mau ngganti PORTA dengan PORTB, kamu tinggal edit bagian #define jadi

#define nyala PORTB

, so, g usah ngganti banyak-banyak di dalam program.

posted by @ang_hilmi @ 11:55 PM   2 Comments

#1 Bahasa C untuk pemrograman hardware

Menulis bahasa C sama dengan membangun rumah dari bata. Ada pondasi, ada batu bata, ada pasir dan semen, dll. Dalam bahasa C, set instruksi/perintah digabungkan menjadi bentuk fungsi, dan fungsi tersebut digunakan untuk operasi tingkat tinggi, yang mana nantinya digabung-gabungkan menjadi suatu program.

Setiap program C harus memiliki, paling tidak 1 fungsi bernama main(). Seperti rumah, ia adalah pondasi dari keseluruhan program. Dalam bahasa lain, ia adalah starting point saat program dijalankan.

Semua fungsi terhubung dengan main(), baik langsung atau tidak langsung. Silakan aja bikin fungsi “asal” yang gak dipake sama sekali. Meskipun gak error saat di-compile, tapi itu bikin program jadi boros memori dan bakal muncul warning di compiler/IDE yang ngasih tau ada fungsi yang gak kepake.

Simpelnya, program embedded C kayak gini:


void main()
{
while(1)
;
}


dari fungsi itu :

; >> menandakan akhir dari instruksi

{} >> menandai dimana awal dan akhir suatu fungsi

// atau /*....*/ >> nandain tempat komentar, yang mana biar programmer bisa paham suatu instruksi yg udah ditulis (biar g lupa/programmer lain bs paham)

So ? Apa bedanya C yang dipake programmer software sama programmer hardware ? Yow, sabar aja, abis ini keliatan bedanya.

posted by @ang_hilmi @ 11:46 PM   0 Comments

Tuesday, November 2, 2010

Antara AVR dan bahasa C

Wah, belon kapok juga saya bikin blog, semoga bisa jalan terus lah.

Blog ini bukan blog orang yg udah "mapan" tentang AVR, tapi justru "diary" proses belajarnya. Saya kan inget tuh kata orang bijak, ceilah, "sukses tu pada proses, bukan hasil".

Lagian kan blajar g abis-abis durasinya ampe kita meninggal.

OK deh, sekarang saya jelasin, kenapa c pake AVR?

AVR memang mulai langka di Indonesia, kabarnya karena pabrikan ATMEL di China lagi membatasi produksi mikrokontroler ATMega untuk penggunaan perorangan. Makanya pada g ada di toko-toko elektronik. Tapi mungkin di toko-toko pinggiran alias jarang yg beli bisa aja masih ada tuh.

AVR tuh punya fasilitas yg mencukupi untuk sekedar latihan, tapi dengan semakin rumit/besar program yg "disuntik" ke dalemnya maka butuh seri yg lebih tinggi biar memori untuk programnya muat.

Nah, tapi justru dengan memori terbatas inilah kita dituntut "ngotak" dalam mrogram.
Cara bagus juga, dengan make bahasa C. Why? kan bahasa C rumit..

Gak juga sih kalo mau blajar. kelebihan bahasa C dibanding yang laen nih :

*) di dunia kerja yg ditanyain tuh, "Anda bisa bahasa C ? atau VB ? Wah kalo Basic mohon maaf."

*) Irit memori

*) mendidik, karena kita tau tentang register2 dalam avr. jadi konsepnya bisa mateng

*) rapih diliat

*) tutorial di internet banyak yg pake bahasa C, contohnya di avrfreak.net tuh, tinkerlog.com dll


ya, mari nimbrung di blog ini ya, saya siap update selanjutnya, karena kepengenan bikin blog ini insya Allah bener2 dari hati sy yg terd4l4m (yah mulai alay dah).


Oke, Cheers ^_^b

posted by @ang_hilmi @ 1:25 AM   0 Comments