[cvavr] bahasa c pada aplikasi mikrokontroller

10
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 <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

Upload: faisal-rahman

Post on 28-Dec-2015

63 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: [CvAVR] Bahasa C Pada Aplikasi Mikrokontroller

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 <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

Page 2: [CvAVR] Bahasa C Pada Aplikasi Mikrokontroller

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

Page 3: [CvAVR] Bahasa C Pada Aplikasi Mikrokontroller

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 +.

Page 4: [CvAVR] Bahasa C Pada Aplikasi Mikrokontroller

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 :

+ - * / % ++ -- = == ~ ! != < > <= >= & && | || ^ ? : << >> -= += /= %= &= *= ^= |= >>= <<= sizeof

Page 5: [CvAVR] Bahasa C Pada Aplikasi Mikrokontroller

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;

Page 6: [CvAVR] Bahasa C Pada Aplikasi Mikrokontroller

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

<= if (A <= B) Jika A lebih kecil sama dengan B

maka True

> if (A > 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.

Page 7: [CvAVR] Bahasa C Pada Aplikasi Mikrokontroller

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

<< Y = A << n

Pergeseran bit ke kiri sebanyak n bit.

Jika A = 00000001

dan Y = A<<6

Maka Y = 01000000

>> Y = A >> n

Pergeseran bit ke kanan sebanyak n bit.

Jika A = 10000000

dan Y = A<<6

Maka Y = 00000010

Page 8: [CvAVR] Bahasa C Pada Aplikasi Mikrokontroller

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.”); }

Page 9: [CvAVR] Bahasa C Pada Aplikasi Mikrokontroller

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;

}

Page 10: [CvAVR] Bahasa C Pada Aplikasi Mikrokontroller

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++) { printf(“Forloop 1, ke-%d”,y); } for (y = 0; y < 5; y++) { printf(“Forloop 2, ke-%d”,y); } for (y = 5; y <= 0; y--) { printf(“Forloop 3, ke-%d”,y); }

while(ekspresi)

{

pernyataan dalam loop;

}

Contoh : Y = 5 While(y--) { printf(“while loop, ke-%d”,y); }

do

{

pernyataan dalam loop;

}

while (ekspresi);

Contoh : Y = 5; do { printf(“dowhile loop, ke-%d”,y); Y--; } while(Y != 0);