Too PayZ DE | [CvAVR] Tutorial Singkat Bahasa C Pada Aplikasi mikrokontroller
Tutorial Singkat Bahasa C Pada Aplikasi mikrokontroller (Sumber : CodeVisionAVR Help v2.04 by Too PayZ)
C Preprocessor C Preprocessor adalah macro processor yang digunakan secara otomatis oleh compiler C untuk mengubah program anda sebelum di kompilasi secara keseluruhan. Fungsi atau tujuannya antar lain : Menggunakan atau menambahkan file lain ke dalam project program yang dibuat. Misalnya menambahkan library, header, source lain, dll. Mendefinisikan macro yang mempermudah dalam penulisan program dan meningkatkan legibility (keterbacaan) source code. Mengatur kompilasi bersyarat untuk tujuan debugging dan untuk meningkatkan portabilitas program. Menentukan compiler specific directives. Contoh-contoh Preprocessor #include <file_name> #include file_name #define PORTbutton PORTA.0 #define ON 1 #define strA A #define SUM(a,b) a+b cara menggunakan : int i=SUM(2,3); #define PRINT_MSG(t) printf(#t) cara menggunakan : PRINT_MSG(hello); #define ALFA(a,b) a ##b cara menggunakan : char ALFA(x,y)=1; #define ALFA(a,b) a ##b
2 | 10 [CvAVR] Basic C Language
Too PayZ DE | [CvAVR] Tutorial Singkat Bahasa C Pada Aplikasi mikrokontroller
Komentar Memulai komentar dengan karakter /* dan diakhiri karakter */. Contoh: /* This is a comment */ /* This is a multiple line comment */ Komentar satu baris menggunakan dua buah garis miring. Contoh : // This is also a comment Reserved Keyword / Kata kunci Reserved Keyword adalah kata kunci yang digunakan oleh kompiler CodeVisionAVR dan tidak boleh / tidak dapat digunakan sebagai nama identifier, variabel, dll. __eepr om __f l ash __i nt er r upt __t ask _Bool br eak bi t bool case char const cont i nue def aul t def i ned do doubl e eepr om el se enum ext er n f l ash f l oat f or got o i f i nl i ne i nt i nt er r upt l ong r egi st er r et ur n shor t si gned si zeof sf r b sf r w st at i c st r uct swi t ch t ypedef uni on unsi gned voi d vol at i l e whi l e 3 | 10 [CvAVR] Basic C Language
Too PayZ DE | [CvAVR] Tutorial Singkat Bahasa C Pada Aplikasi mikrokontroller
Identifier Identifier adalah nama yang Anda berikan label, variabel, fungsi atau objek lain. Identifier bisa berisi huruf (A. .. Z, a ... z) dan angka (0 ... 9), serta karakter garis bawah (_). Namun identifier hanya dapat dimulai dengan huruf atau garis bawah. Bahasa C adalah case sensitive sehingga huruf besar dan huruf kecil berbeda, variable1 yaitu tidak sama dengan Variable1. Identifier dapat memiliki hingga 64 karakter. Data Type Tabel berikut mencantumkan semua tipe data yang didukung oleh CodeVisionAVR C compiler, jangkauan dan nilai yang mungkin dan ukuranya:
Tipe data bit tidak diperbolehkan dalam jenis elemen array atau struktur / union. Secara default tipe Char adalah pilihan unsigned char memiliki rentang 0-255. Untuk pengaturan default char silahkan cek atau uncek pada Project | Configure | C Compiler | Kode Generation | char is unsigned atau gunakan # pragma uchar +. 4 | 10 [CvAVR] Basic C Language
Too PayZ DE | [CvAVR] Tutorial Singkat Bahasa C Pada Aplikasi mikrokontroller
Operator Kompiler CodeVision AVR mendukung beberapa operator, antara lain :
Too PayZ DE | [CvAVR] Tutorial Singkat Bahasa C Pada Aplikasi mikrokontroller
Aritmatika Operator Contoh Keterangan dan contoh. = Y =A; Pemberian nilai A ke Y. + Y =A +B; Penjumlahan A dan B hasil di Y ++ Y++; Increment / Kenaikan Y =Y +1; -- Y--; Decrement / Penurunan Y =Y -1; - Y =A B; Pengurangan A dan B hasil di Y * Y =A * B; Perkalian A dan B hasil di Y / Y =A / B; Pembagian A dan B hasil di Y % Y =A % B Modulus atau sisa hasil bagi. Y =25 % 5; // Y =0 Y =26 % 5; // Y =1 Y =14 % 6; // Y =2 += Y +=4; Penjumlahan variable tersebut dengan konstanta atau nilai tertentu. Y =Y +4; -= Y - =4; Pengurangan variable tersebut dengan konstanta atau nilai tertentu. Y =Y - 4; *= Y * =4; Perkalian variable tersebut dengan konstanta atau nilai tertentu. Y =Y * 4; /= Y / =4; Pembagian variable tersebut dengan konstanta atau nilai tertentu. Y =Y / 4; %= Y % =4; Modulus variable tersebut dengan konstanta atau nilai tertentu. Y =Y % 4;
6 | 10 [CvAVR] Basic C Language
Too PayZ DE | [CvAVR] Tutorial Singkat Bahasa C Pada Aplikasi mikrokontroller
Logika Operator Contoh Keterangan dan contoh. == if (A ==B) J ika A sama dengan B maka True != if (A !=B) J ika A tidak sama dengan B maka True < if (A <B) J ika A lebih kecil dari B maka True <= if (A <=B) J ika A lebih kecil sama dengan B maka True > if (A >B) J ika A lebih besar dari B maka True >= if (A >=B) J ika A lebih besar sama dengan B maka True ! if (!A) J ika tidak sama dengan A maka True. && if (Y==A && B==C) J ika Y =A dan B =C maka True. || if (Y==A || B==C) J ika Y =A atau B =C Maka True.
7 | 10 [CvAVR] Basic C Language
Too PayZ DE | [CvAVR] Tutorial Singkat Bahasa C Pada Aplikasi mikrokontroller
Manipulasi Bit Operator Contoh Keterangan dan contoh. ~ Y =~A Nilai Y kebalikan dari nilai A J ika A =11110000 Maka Y =00001111 & Y =A & B Gerbang logika AND / perkalian bit J ika A =11110000 J ika B =11001100 Maka Y =11000000 | Y =A | B Gerbang logika OR / penjumlahan bit J ika A =11110000 J ika B =11001100 Maka Y =11111100 ^ Y =A ^B Gerbang logika XOR J ika A =11110000 J ika B =11001100 Maka Y =00111100 << Y =A <<n Pergeseran bit ke kiri sebanyak n bit. J ika A =00000001 dan Y =A<<6 Maka Y =01000000 >> Y =A >>n Pergeseran bit ke kanan sebanyak n bit. J ika A =10000000 dan Y =A<<6 Maka Y =00000010
8 | 10 [CvAVR] Basic C Language
Too PayZ DE | [CvAVR] Tutorial Singkat Bahasa C Pada Aplikasi mikrokontroller
Operator Kondisional Berikut beberapa contoh operator kondisional: if (kondisi) then pernyataan; Contoh : if ( Y == A) { putsf( ni l ai Y sama dengan A. ) ; }
if (kondisi) then pernyataan_1; else pernyataan_2; Contoh : if ( Y == A) { putsf( ni l ai Y sama dgn A. ) ; } else { putsf( ni l ai Y beda dgn A. ) ; }
if (kondisi_1) then pernyataan_1; else if (kondisi_2) then pernyataan_2; else pernyataan_3; Contoh : if ( Y == A) { putsf( ni l ai Y sama dgn A. ) ; } else if ( Y == B) { putsf( ni l ai Y beda dgn B. ) ; } else { putsf( ni l ai Y beda dgn A dan B. ) ; }
9 | 10 [CvAVR] Basic C Language
Too PayZ DE | [CvAVR] Tutorial Singkat Bahasa C Pada Aplikasi mikrokontroller
switch(ekspresi) { case kondisi1 : pernyataan 1 break; case kondisi2 : pernyataan 2 break; } Contoh : swi t ch ( Y) { case 1: putsf( ni l ai Y sama dgn 1. ) ; break; case 2: putsf( ni l ai Y sama dgn 2. ) ; break; }
switch(ekspresi) { case kondisi1 : pernyataan 1 break; case kondisi2 : pernyataan 2 break; default : pernyataan default break; } Contoh : swi t ch ( Y) { case 1: putsf( ni l ai Y sama dgn 1. ) ; break; case 2: putsf( ni l ai Y sama dgn 2. ) ; break; default: putsf( Kondi si def aul t Y ber beda. ) ; break; }
10 | 10 [CvAVR] Basic C Language
Too PayZ DE | [CvAVR] Tutorial Singkat Bahasa C Pada Aplikasi mikrokontroller
Perulangan ( Looping) Berikut beberapa contoh perulangan : for (nilai_awal; syarat_perulangan; proses_increament/decreament;) { pernyataan dalam loop; } Contoh : for ( y = 0; y <= 5; y++) { pr i nt f ( For l oop 1, ke- %d, y) ; } for ( y = 0; y < 5; y++) { pr i nt f ( For l oop 2, ke- %d, y) ; } for ( y = 5; y <= 0; y- - ) { pr i nt f ( For l oop 3, ke- %d, y) ; }
while(ekspresi) { pernyataan dalam loop; } Contoh : Y = 5 While( y- - ) { printf( whi l e l oop, ke- %d, y) ; }
do { pernyataan dalam loop; } while (ekspresi); Contoh : Y = 5; do { printf( dowhi l e l oop, ke- %d, y) ; Y- - ; } while( Y ! = 0) ;