پاسخ : GSM و ارتباط آن با AVR
:smile:
:smile:
#asm
.equ __lcd_port=0x1B ;PORTA
#endasm
#define enter 0x0d
#define ctrl_z 0x1a
char sms_text[100]="";
flash char at_cmgr[]= {'A','T','+','C','M','G','R','=','1','\r'};
void wait_to_get(char ch){
while(ch != getchar()); }
void main(void){
PORTA=0x00;
DDRA=0xFF;
PORTD=0x00;
DDRD=0x00;
// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: On
// USART Transmitter: On
// USART Mode: Asynchronous
// USART Baud Rate: 9600
UCSRA=0x00;
UCSRB=0x18;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x47;
lcd_init(16);
while (1){
lcd_putsf("START");
delay_ms(1000);
lcd_clear();
if(PIND.7==1){
putsf(at_cmgr);
putchar(enter);
wait_to_get('>');
printf("%s%c",sms_text);
lcd_gotoxy(0,1);
lcd_putsf("MASSAGE RECEVIE");
delay_ms(3000);
lcd_clear(); }//EXT.CRYSTAL=11.0592
}
}
#asm
.equ __lcd_port=0x1B ;PORTA
#endasm
#define enter 0x0d
#define ctrl_z 0x1a
char sms_text[100]="";
flash char at_cmgr[]= {'A','T','+','C','M','G','R','=','1','\r'};
void wait_to_get(char ch){
while(ch != getchar()); }
void main(void){
PORTA=0x00;
DDRA=0xFF;
PORTD=0x00;
DDRD=0x00;
// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: On
// USART Transmitter: On
// USART Mode: Asynchronous
// USART Baud Rate: 9600
UCSRA=0x00;
UCSRB=0x18;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x47;
lcd_init(16);
while (1){
lcd_putsf("START");
delay_ms(1000);
lcd_clear();
if(PIND.7==1){
putsf(at_cmgr);
putchar(enter);
wait_to_get('>');
printf("%s%c",sms_text);
lcd_gotoxy(0,1);
lcd_putsf("MASSAGE RECEVIE");
delay_ms(3000);
lcd_clear(); }//EXT.CRYSTAL=11.0592
}
}
دیدگاه