dari perintah - perintah AT command yang sering dipakai sampai pembuatan dan pemrograman AT
Command pada Codevision AVR.
2. AT+CMGF , untuk jenis format yang dipakai apakah berupa teks atau PDU.
6. AT+CPMS , untuk mengatur memori yang digunakan apakah HP atau SIM card.
2. LCD 16x2
4. USB to serial (jika ingin mencoba apakah AT command pada HP berhasil atau tidak)
1. Persiapkan semua komponen diatas, tanpa itu semua kemungkinan kesalahan bisa terjadi.
Name
Description
ATMS
Audio to mobile
AFMS/RTS
CTS/ONREQ
Data in
Data to mobile (Rx)
Data out
ACC in
ACC out
Accessory control from mobile/handsfree sense. Used as Tx in some models for flashing
AGND
Flash
10
DGND
Digital ground
11
Vcc
4. New Project.
5. Untuk program serialnya pilih option yang tertera sesuai gambar dibawah ini :
Berikut listing program untuk terima sms dan kemudian mengirim balik statusnya :
#include <mega16.h>
#include <delay.h>
#include <stdio.h>
#include <lcd.h>
#asm
.equ __lcd_port=0x15 ;PORTC
#endasm
void main(void)
UCSRA=0x00;
UCSRB=0x18;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x47;
lcd_init(16);
while (1)
putchar(0x0D); // enter
reload:
putchar('"');
printf("ME");
putchar('"');
putchar(0x0D);
while(getchar()!= 'K'){};
while(getchar()!=0x0A){};
printf("AT+CMGF=1");
putchar(0x0D);
while(getchar()!= 'K'){};
while(getchar()!=0x0A){};
putchar('"');
printf("all");
putchar('"');
putchar(0x0D);
while(getchar()!=0x0A){};
a=0;
do{
a++;
cek[a]=getchar();
delay_ms(50);
goto reload;
a=0;
do{
a++;
cek[a]=getchar();
putchar(0x0D);
while(getchar()!='K'){};
while(getchar()!=0x0A){};
printf("AT+CMGD=1");
putchar(0x0D);
while(getchar()!='K'){};
while(getchar()!=0x0A){};
printf("AT+CMGF=1");
putchar(0x0D);
while(getchar()!= 'K'){};
while(getchar()!=0x0A){};
putchar('"');
printf("08xxxxxxxxxx"); // no HP tujuan
putchar('"');
putchar(0x0D);
delay_ms(5);
putchar(0x1A); // CTRL + Z
while(getchar()!='K'){};
else
printf("AT+CMGD=1");
putchar(0x0D);
while(getchar()!='K'){};
while(getchar()!=0x0A){};
printf("AT+CMGD=1");
putchar(0x0D);
while(getchar()!='K'){};
while(getchar()!=0x0A){};
printf("AT+CMGF=1");
putchar(0x0D);
while(getchar()!= 'K'){};
while(getchar()!=0x0A){};
printf("AT+CMGS=");
putchar('"');
printf("08xxxxxxxxxx"); // no hp tujuan
putchar('"');
putchar(0x0D);
while(getchar()!=0x3E){};
delay_ms(10);
putchar(0x1A);
while(getchar()!='K'){};
}
delay_ms(50);
};