Member baru? Bingung? Perlu bantuan? Silakan baca panduan singkat untuk ikut berdiskusi.

Welcome to Forum Sains Indonesia. Please login or sign up.

Desember 07, 2024, 03:40:29 PM

Login with username, password and session length

Topik Baru

Artikel Sains

Anggota
Stats
  • Total Tulisan: 139,653
  • Total Topik: 10,405
  • Online today: 54
  • Online ever: 1,582
  • (Desember 22, 2022, 06:39:12 AM)
Pengguna Online
Users: 0
Guests: 38
Total: 38

Aku Cinta ForSa

ForSa on FB ForSa on Twitter

SMS Kontroller

Dimulai oleh haglan, Juni 18, 2010, 06:15:23 PM

« sebelumnya - berikutnya »

0 Anggota dan 1 Pengunjung sedang melihat topik ini.

0y1k

Kutip dari: haglan pada Juli 03, 2010, 06:53:25 PM
kalo di library string kayanya bisa yah ?? lgsng dibandingin lg pelajari library string nya nih
wah blum pernah pake library string sih. hehehe
لاَ إِلَـهَ إِلاَّ اللهُ الْعَظِيْمُ الْحَلِيْمُ، لاَ إِلَـهَ إِلاَّ اللهُ رَبُّ الْعَرْشِ الْعَظِيْمُ، لاَ إِلَـهَ إِلاَّ اللهُ رَبُّ السَّمَاوَاتِ وَرَبُّ اْلأَرْضِ وَرَبُّ الْع

Too Payz

Bandingkan data ga bisa perkata tapi perhuruf.
caranya macam-macam, bisa dengan looping, perulangan, atau menggunakan gerbang logika..

Misalnya:
#define false 0;
#define true 1;

unsigned char look_table[4]={'T','E','S','T'}; // lookup table data pembanding.
unsigned char data_terima[4]; // memori data diterima
unsigned char sama=false;

void COMPARE_logic()  // gerbang logika
{
if (look_table[0]==data_terima[0] && look_table[1]==data_terima[1] && look_table[2]==data_terima[2] && look_table[3]==data_terima[3]) sama= true;
else sama=false;
}

void COMPARE_loop()  // perulangan
{
   unsigned char x;
sama=true;
for (x=0; x<4; x++)
{
if (look_table[x]!=data_terima[x]) sama=false;
}
if sama==true {/*jika sama*/}
else {/*jika beda*/}
}

Kalo salah maklum yahh...
Soalnya ga dicoba lgs.
Yang penting logikanya.. OK..
;)   ;)   :D

haglan

hohohoh .... mantap bro atk cobain deh hehe  ;D
oh ya bnrnya program dah jadi tapi program masih kurang stabil ajh gt ... kadang - kadang urutannya bner bisa nyalain lampu tuh ... kadang - kadang nyangkut program nya ...  ;D

kira2 napa yah ?? apa krna musti level ttl nya harus sama persis yah ?... di hp siemens c45 aku ukur lvel ttl 2,3 v .. krna di mikro 5 volt aku turunin pake dioda di seri sebanyak 7 buah .... jadi aku ukur sekitar 2,4 gt ???

vibe

maaf mas
boleh tanya
maksude "K" pada "AT!=K" apah mas?
masalahnya saya lagi bkin alat pakai AT Command pengukuran suhu dengan tampilan SMS pada HP siemens C35 berbasis ATMega 8535

herlambang

#19
Kutip dari: vibe pada Mei 31, 2011, 10:57:44 PM
maaf mas
boleh tanya
maksude "K" pada "AT!=K" apah mas?
masalahnya saya lagi bkin alat pakai AT Command pengukuran suhu dengan tampilan SMS pada HP siemens C35 berbasis ATMega 8535

K yang dimaksud diatas bukan circle K haha :D
K itu cuman ngambil dari kata OK balasan dari HP menandakan perintah sudah dikerjakan. lawannya adalah ERR yang diambil satu karakter R.

haha.. cuman bwt simpelnya mungkin, harusnya kalo ingin lebih bagus datanya disimpan di array terus dibandingkan. getu mas jadi yang dibandingkan bukan cuman satu karakter aja.

untuk perbandingan data mudah aja, sebenarnya dengan bentuk data apapun bisa.. mau flash atau sram mau eeprom .. tinggal cara perbandingannya aja :D

ini contoh kalo fungsinya buat sendiri:

#include <string.h> //ini untuk fungsi strlen();
#define __err 1  //ini untuk ERROR
#define __ok  0  //ini untuk OK
//dibawah adalah karakter konstanta (pembanding)
//disimpan dalam memory flash
__flash char konstanta_1[]={"WWW.NUBIELAB.COM"}; //sample konstannya
/*
Dibawah adalah fungsi pembanding karakter yang berbentuk array dalam sram
dengan karakter dalam bentuk array pada flash.
nilai balik fungsi, char 0 atau 1, 0 ERROR 1 OK.
data dibandingkan mulai dari index 0, jadi misal ada karakter dibelakang data
yang dibandingkan gk masalah, karena jumlah index pembanding diambil
dari panjang karakter konstanta pada memory flash.
contoh cara panggil:
if(perbandingan_data(smstext,konstanta_1) == 0){
   //disini bila data sama dari OK
   }
else{
   //disini bila data tidak sama ERR
   }
*/
char perbandingan_data(char *datane,__flash char *konstanta){
unsigned int i;
char err_ok;

for(i=0;i<strlenf(konstanta);){
   if(datane != konstanta){
       err_ok = __err;
       break;
       }
   i++;
   }
if(err_ok != __err){
   return __ok;
   }
else return __err;
}


dan bisa juga pake yang dari bawaan kompiler yg terdapat pada library string.h:

untuk perbandingan data sram dengan sram :

signed char strncmp(char *str1,char *str2,unsigned char n);
signed char = nilai baliknya, *str1 = pointer karakter pada sram, *str2 pointer karakter pada sram, n = jumlah karakter yang mau dibandingkan.

untuk perbandingan data flash dengan sram:

signed char strncmpf(char *str1,char flash *str2,unsigned char n);
signed char = nilai baliknya, *str1 = pointer karakter pada sram, *str2 pointer karakter pada flash, n = jumlah karakter yang mau dibandingkan.

nilai balik bila data sama adalah 0 dan bila data tidak sama bisa lebih besar atau lebih kecil karena nilai baliknya bertipe signed char!

begitu saja... hahaha programming with ease!
built-in double watchdog! ^^"   *Problem Solved*

zilonks

ada yang tau sms listing pake bascom 8051 gk...????

dewa semangat

Wah sesepuh ane juga butuh nie aplikasi sms ini, tapi tugas akhir saya adalh mengendalikan servo pada lengan robot dngn sms
jadi kita ketik sms "angkat" maka servo akan mengangkat ,geser kanan,kiri dan letakkan
waduh-waduh masi PUsiiiiiiiiiiiing 10000 keliling.........

Iccank Devilz


tatangesm

kalo untuk gprs gimana yaa?
ada yang tau???
:-\

Tekhnical

para suhu semuanya ada yang tau coding buat nampilan data di lcd lewat sms dengan menggunakan modem gsm sim 300?