Archive for April 6, 2012

Jika anda menggunakan BASCOM untuk memprogram mikrokontroler anda, pasti ada sudah bisa dengan mudahnya menyimpan data ke dalam sebuah variable.

Dim A As Byte
Dim B As Byte
Dim C As Integer
Dim D(5) As Integer                  ‘array variable

Data variable ini akan disimpan ke dalam sram bukan flash ram. Seperti kita ketahui kapasitas sram lebih sedikit dari flash ram. Seperti pada ATMEGA128, mikrokontroler ini memiliki 128KB flash ram/memori sedangkan sramnya hanya 4KB saja.

Ketika anda diharuskan memasukan data besar misalkan data sampling sinyal sebesar 64KB tentu saja data ini tidak bisa anda langsung masukan ke dalam sebuah variable mengingat data maksimalnya adalah sebesar nilai sram itu sendiri. Solusinya adalah memasukan data secara langsung ke dalam flash ram.

Salah satu sintak yang bisa digunakan untuk memasukan data-data besar adalah

var =LOOKUP( value, label)

jumlah yang bisa dimasukan ke dalam sebuah label adalah 0-65535. Maka jika kita memasukan data byte jumlah yang bisa dimasukan adalah 64KB. Jika kita memasukan data dengan type integer maka dengan jumlah yang sama jumlah data yang dimasukan adalah 128KB.

 

$regfile = “m128def.dat”
$crystal = 8000000

Dim A As Byte

A = Lookup(6 , Dta)
Print A
A = Lookup(0 , Dta)
Print A
A = Lookup(7, Dta)
Print A

A = Lookup(13, Dta)
Print A
A = Lookup(65535 , Dta) ‘Maksimal data yang dimasukan
Print A
End

Dta:

Data 34 , 52 , 73 , 96 , 119 , 143 , 167 , 189 , 208

Data 25 , 43 , 66 , 91 , 118 , 146

 

Biasanya kita memasukan data secara horisontal saja

Label:

Data 0,1,2,3,4,5

Namun, jika data yang dimasukan terlalu panjang maka program BASCOM akan mengalami eror ketika compile (crash). Maka kita harus memecah data ke beberapa baris seperti contoh di atas. Value yang digunakan sebagai counter akan terus  berlanjut asalkan kita tidak menuliskan nama label baru.

Maka ketika kita akan memasukan data 0-65535 kita bisa memasukannya sebanyak 512 baris dengan masing-masing baris sebanyak 128 data. Namun jika dibalik kita memasukan 128 baris dengan jumlah data 512 perbaris progam BASCOM tidak mampu mengkompile.

Ketika proses compile misal dengan data penuh 64KB BASCOM akan memakan proses yang lama sekitar 2 menit tergantung komputer yang digunakan. Jadi ketika tertulis NOTRESPOND pada program bascom anda biarkan sampai respon kembali.

Akhir kata

Selamat mencoba

Good Luck

Good Read

Tanggapan dan pertanyaan dapat anda layangkan melalui komentar di bawah ini.