Kamis, 18 Oktober 2012

Mengubah data string ke integer dan sebaliknya menggunakan CodeVision AVR


Jika kita membuat code untuk melakukan pengolahan data terutama data komunikasi serial sering kali kita dihadapkan dengan data berupa byte per byte yang pastinya kita akan tampung kedalam variable array dengan ukuran tertentu.


Dengan kemudahan yang disediakan CodeVision, saya akan membagi pengalaman bagaimana mengubah data string ke integer dan sebaliknya. Library yang digunakan adalah stdlib.h. contoh kasus adalah : Misalnya kita menerima data dari komunikasi serial RS232 atau RS485 atau lainnya berupa data string yaitu data transaksi penjualan. Transaksi pertama dikirim data string sebesar 100000 dan transaksi kedua sebesar 200000, hitung total nya!

Code nya:

#include<stdlib.h>

unsigned char data1[10];
unsigned char data2[10];
unsigned char data_total[10];
unsigned long int buffer=0;
void main()
{
while(1)
{
buffer=atol(data1)+atol(data2);//data1 dan data2 diubah ke integer dan di jumlahkan disimpan dalam variable buffer
ltoa(buffer,data_total);//nilai variable buffer di ubah ke string yang disimpan ke variable data_total 
}
}

Semoga Bermanfaat

6 komentar:

  1. mau tanya settingngan di vbx gmn ?

    BalasHapus
  2. gini misalnya saya mau ngirim nilai pWM dari vb k mikro itu gmn baik di mikro sama d vbx itu gmn caranya??
    mohon pencerahan

    BalasHapus
    Balasan
    1. komunikasi antara VB dengan mikro bisa pakai serial. di VB pakai komponen mscomm dan di mikro pakai Usart atau Uart. PWM di mikro kan nilai nya dari 0-255. anda bisa kirim dari VB dengan mscomm.output=char(), atau apapun yang penting di mikro bisa di terjemahkan

      Hapus
  3. setelah saya coba mengubah data char data1[4]=123 ke integer int K, hasilnya tidak muncul di lcd, bahkan program lain jadi terhenti. formula yg saya gunakan K = atol(data1];

    hasil dari int K tidak dapat ditunjukan di LCD, apakah ada yang salah?

    BalasHapus