Sabtu, 24 Desember 2011

TUTORIAL KEIL UNTUK STM32

keil uvision4


tidak fair kalo saya membuat artikel tentang menginstal keil tetapi tidak menjelaskan bagaimana membuat program di keil. karena saya menggunakan STM32, maka saya menulis tentang tutorial keil untuk STM32.
ingat kan waktu kita belajar pemograman pada ATMEGA 8535, kita bias enak belajarnya karena sudah ada buku yang berbahasa Indonesia. sepertinya akan lama kalo kita harus menunggu buku tentang STM32F10x keluar karena STM32 mempunyai banyak sekali peripheral dan aplikasi yang luas. buku-buku yang membahas pemograman pada mcu biasanya berisi register-register pada mcu yang berfungsi untuk setting peripheral dari mcu itu sendiri, penjelasan tentang definisi dan kegunaan dari peripheral, dan masuk ke step-step yang harus dilakukan pada compiler baik dengan statement list dan configuration wizard seperti pada codevision.

PILIHAN BOOTING PADA STM32F10x

kembali tentang mcu canggih ARM CM-3 keluaran ST, STM32F10x. STM32F10x menyediakan 3 opsi booting memory untuk kemudahan penggunanya. opsi booting memory ini dapat dikonfigurasi dari logic pada pin BOOT0 dan BOOT1. opsi booting memory yang diinginkan ini kemudian akan aktiv setelah menekan tombol reset.

tabel konfigurasi

Jumat, 02 Desember 2011

VARIABEL VOLATILE DALAM C

di pemrograman komputer, khususnya di C, C++ dan C#, suatu variabel atau objek yang dideklarasikan dengan keyword volatile biasanya memiliki properti khusus berkaitan dengan optimalisasi dan/atau threading. dalam bahasa umum, keyword volatile ditujukan untuk mencegah (pseudo) compiler dari penerapan optimalisasi apapun pada kode yang mengasumsikan nilai variabel-variabel tidak dapat berubah “oleh mereka sendiri”
definisi aktual dan aplikabel dari keyword volatile seringkali disalah-artikan dalam konteks bahasa C, dan karena C++, C# dan Java  “mewarisi” volatile dari bahasa C, ada perbedaan besar dalam hal semantik dan penggunaan volatile pada masing-masing bahasa pemrogramman tersebut. maka kita akan membahas konteks keyword volatile dalam C.
dalam bahasa C dan C++, variabel volatile merupakan variabel yang nilainya dapat berubah karena faktor eksternal. dari fakta, hanya ada 3 macam faktor eksternal yang dapat mengubah nilai variabel, yaitu:
  • memory-maped io (baca: alamat memory yang dipetakan untuk io, contoh di mcu 8051 pin 0 memiliki alamat 0x80).
  • variabel global yang nilainya berubah karena interrupt service routine.
  • variabel global dalam aplikasi multi-threaded.