[cvavr] bahasa c pada aplikasi mikrokontroller
DESCRIPTION
cvavrTRANSCRIPT
-
1 | 10 [CvAVR] Basic C Language
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
#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.
__eeprom
__flash
__interrupt
__task
_Bool
break
bit
bool
case
char
const
continue
default
defined
do
double
eeprom
else
enum
extern
flash
float
for
goto
if
inline
int
interrupt
long
register
return
short
signed
sizeof
sfrb
sfrw
static
struct
switch
typedef
union
unsigned
void
volatile
while
-
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 :
+ - * / % ++ -- = == ~ ! != < > = & && | || ^ ? : > -= += /= %= &= *= ^= |= >>=
-
5 | 10 [CvAVR] Basic C Language
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) Jika A sama dengan B
maka True
!= if (A != B) Jika A tidak sama dengan B
maka True
< if (A < B) Jika A lebih kecil dari B
maka True
B) Jika A lebih besar dari B
maka True
>= if (A >= B) Jika A lebih besar sama dengan B
maka True
! if (!A) Jika tidak sama dengan A
maka True.
&& if (Y==A && B== C) Jika Y = A dan B = C
maka True.
|| if (Y==A || B== C) Jika 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
Jika A = 11110000
Maka Y = 00001111
& Y = A & B
Gerbang logika AND / perkalian bit
Jika A = 11110000
Jika B = 11001100
Maka Y = 11000000
| Y = A | B
Gerbang logika OR / penjumlahan bit
Jika A = 11110000
Jika B = 11001100
Maka Y = 11111100
^ Y = A ^ B
Gerbang logika XOR
Jika A = 11110000
Jika B = 11001100
Maka Y = 00111100
n
Pergeseran bit ke kanan sebanyak n bit.
Jika A = 10000000
dan Y = A
-
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(nilai Y sama dengan A.); }
if (kondisi) then pernyataan_1;
else pernyataan_2;
Contoh : if (Y == A) { putsf(nilai Y sama dgn A.); } else { putsf(nilai 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(nilai Y sama dgn A.); } else if (Y == B) { putsf(nilai Y beda dgn B.); } else { putsf(nilai 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 : switch (Y) { case 1: putsf(nilai Y sama dgn 1.); break; case 2: putsf(nilai Y sama dgn 2.); break; }
switch(ekspresi)
{
case kondisi1 : pernyataan 1
break;
case kondisi2 : pernyataan 2
break;
default : pernyataan default
break;
}
Contoh : switch (Y) { case 1: putsf(nilai Y sama dgn 1.); break; case 2: putsf(nilai Y sama dgn 2.); break;
default: putsf(Kondisi default Y berbeda.); 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