# Native Code > برنامه نویسی موبایل > سوال: دستورات مودم

## sara22

سلام
کسی در مورد دستورات AT مودم اکسترنال اطلاعی داره؟
من می خوام بدون نیاز به کامپیوتر و با یک میکرو با مودم ارتباط برقرار کنم و از طریق اون دیتا بفرستم، آیا با دستورات AT میشه اینکارو کرد؟

----------


## ali.akhbary

بله. من این کار رو انجام دادم. باید دقیقا مثل hyoer terminal عمل کنید.

یعنی اگه پشت سر دستور اونجا اینتر می زدید تا اون توی پورت کام نوشته بشه، این بار اون رو توی پورت کام print کنید و حالت خروجی مودم رو مثل ok و ... با scanf بخونید.

البته scanf و printf مال codevision هست. تو bascom رو نمی دونم.

اصلا از چه میکرویی و چه زبانی می خوای استفاده می کنی؟

----------


## sara22

ممنون از جوابتون 
من می خوام از AVR و codevision استفاده کنم، دستورات AT مودم رو می خوام، خود دستورات رو تقریبا دارم ولی جواب مدم رو بهشون نمی دونم!
شما فایل کامل دستورات و جواب مودم و توضیحاتشو ندارین برام بذارین؟

----------


## reza6384

https://barnamenevis.org/showthread.php?t=116828

البته باید با این دستورات کار کنید و خودتون ببینید که چه جواب هایی دریافت میشه، اینقدر هم که شما میخواهید حاضر و آماده نیست.

----------


## alireza_ap

اقای اخباری عزیز
من یه تکه کد برای ارسال نوشتم که اینجا می زارم

عزیزان کسی می تونه تست کنه ببینه این درست هست یا نه؟ جواب می گیرید ؟

ممنون می شم از همگی

#include<mega32.h> 
#include<stdio.h> 
#include<delay.h> 

unsigned char str1[] = "AT+CMGF=0"; 
unsigned char str2[] = "AT+CMGS=29"; 
unsigned char str3[] = "079189390500410001000B819071077538F6000012F3F61C4  42FCFE920B3FCDD0685EDF210"; 

void main(void) 
{ 
        UCSRA=0x00;
        UCSRB=0x18;
        UCSRC=0x86;
        UBRRH=0x00;
        UBRRL=0x19;

        PORTA.0 = 1;
            delay_ms(1500);
            PORTA.0 = 0; 

        puts(str1); 

        PORTA.1 = 1;
            delay_ms(2000);
            PORTA.1 = 0; 

        puts(str2);     //AT+CMGS=29 
        putchar(0x0D);

        PORTA.0 = 1;
            delay_ms(1500);
            PORTA.0 = 0;

        delay_ms(3000); 
        puts(str3);    //Message in PDU format

        PORTA.1 = 1;
            delay_ms(2000);
            PORTA.1 = 0; 

        putchar(0x1A);   //Control-z 
        putchar(0x0D);

        PORTA.0 = 1;

}

----------


## noorsoft

> ممنون از جوابتون 
> من می خوام از AVR و codevision استفاده کنم، دستورات AT مودم رو می خوام، خود دستورات رو تقریبا دارم ولی جواب مدم رو بهشون نمی دونم!
> شما فایل کامل دستورات و جواب مودم و توضیحاتشو ندارین برام بذارین؟


با چه مودمی دارین کار می کنید؟ 
باید تنظیمات Baud را برای مودم درست تست کنید 
برای شروع اگر AT را ارسال کنید و Ok در یافت کنید موفق به ارتباط صحیح با مودم شده اید و سپس ادامه کار ..

----------


## alireza_ap

کسی جواب ما رو نمی ده؟

----------


## sara22

شنیدم که AVR خودش می تونه با پورت usb ارتباط برقرار کنه، می شه در مورد کتابخونش و دستوراتش یکم اطلاعات و راهنمایی بدین.
من مودمم فقط پورت usb داره و ترجیحا میخوام از مبدل usb به سریال استفاده نکنم!!

----------


## ali.akhbary

> اقای اخباری عزیز
> من یه تکه کد برای ارسال نوشتم که اینجا می زارم
> 
> عزیزان کسی می تونه تست کنه ببینه این درست هست یا نه؟ جواب می گیرید ؟
> 
> ممنون می شم از همگی
> 
> #include<mega32.h> 
> #include<stdio.h> 
> ...


1. مودم هاي GSM از فرمت text پشتيباني مي كنند، چرا ازش استفاده نكردي؟!!!!!
2. اول بايد دستور AT رو اجرا كنيد.
.3 چرا خروجي ها رو با scanf و getchar نمي گيري؟!!!!!!!!!!!!!!!!

----------

