اطلاعیه

Collapse
No announcement yet.

کمک در برنامه نوشته شده sim900

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    کمک در برنامه نوشته شده sim900

    سلام دوستان
    من میخوام دما رو با adc بخونم و با sim 900 ارسال کنم
    حالا هم برنامه Adc درسته و هم برنامه sim900 (جدا جدا تست کردم )

    برنامه ارسال sms رو به صورت زیر برنامه در آوردم و گفتم هر موقع دما زیاد شد زیر برنامه sms رو صدا بزنه
    مشکلم اینه که چه جوری متن پیام ارسالی رو با آرایه از دستورات at جدا کنم که فقط مثلا اندازه دما رو sms کنه و دستورات at توی sms ارسالی نباشن

    کد:
    $regfile = "m16def.dat"
    $crystal = 8000000
    $baud = 9600
    '~~~~~~~~~~~~~~~~~~~~~ Configurations ~~~~~~~~~~~~~~~~~~~~~
    
    Config Lcd = 16 * 2
    Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , _
    Db7 = Portc.7 , E = Portc.0 , Rs = Portc.1
    
    
    Config Pind.2 = Input
    Config Porta = Input
    Ddrc = &B11111111
    
    '  ~~~~~~~~~~~~~~~~~~~~~Main program  ~~~~~~~~~~~~~~~~~~~~~
    Dim A As String * 10
    Dim Dama As Word
    Dim Dod As Byte
    Dim Harekat As Byte
    Dim Rotobat As Byte
    Dim K As Word
    
    
    
    Declare Sub S_sms(text As Word )
    
    
    
    
    
    Config Adc = Single , Prescaler = Auto , Reference = Internal
    
    
    
    
    Start Adc
    
    Dama = Getadc(0) : Dama = Dama \ 4
    
    
      If Dama >= 35 Then
    
      Call S_sms(dama)
    
      End If
    
    
    
    End
    
    
    Sub S_sms(text As Word)
      
    
      Print "at"
    
      Waitms 500
    
      Print "AT+CMGF=1"
      Waitms 500
    
      Print "AT+CMGS=" ; Chr(34) ; "0919xxxxxxx7" ; Chr(34)
      Waitms 100
      Print "AVR Test 1" ; Chr(26)
      Print Text
    
      Waitms 550
    
     End If
    End Sub

    #2
    پاسخ : کمک در برنامه نوشته شده sim900

    باید echo رو غیرفعال کنید
    کد:
    printf("ATE0\r\n");
    منم یه سوال داشتم. چطوری باید یه متغیر مثل همین دما رو ارسال کرد؟
    من میتونم یه متنو با دستور زیر ارسال کنم ولی یه متغیر رو نمیدونم چطور میشه!
    کد:
    printf("avalin sms sim900 %c",26);
    www.gam-co.blogsky.com

    دیدگاه


      #3
      پاسخ : کمک در برنامه نوشته شده sim900

      منم یه سوال داشتم. چطوری باید یه متغیر مثل همین دما رو ارسال کرد؟
      من میتونم یه متنو با دستور زیر ارسال کنم ولی یه متغیر رو نمیدونم چطور میشه!
      کد:
      printf("avalin sms sim900 %c",26);
      [/quote]
      سلام. فکر کنم باید از putchar استفاده کنین.
      http://www.eca.ir/forum2/index.php?topic=108455.msg777842#msg777842

      دیدگاه


        #4
        پاسخ : کمک در برنامه نوشته شده sim900

        اخه دستور putchar کداسکی رو میفرسته
        www.gam-co.blogsky.com

        دیدگاه


          #5
          پاسخ : کمک در برنامه نوشته شده sim900

          دستور puts رو استفاده کنید. یه متغیر رشته ای رو میفرسته.
          [code=c]
          unsigned char name[]="Micro";
          puts(name);
          [/code]
          http://www.eca.ir/forum2/index.php?topic=108455.msg777842#msg777842

          دیدگاه


            #6
            پاسخ : کمک در برنامه نوشته شده sim900

            کد:
            temp=24;
            puts(temp);
            منظورتون اینجوریه؟
            یعنی اینجوری 24 رو ارسال میکنه؟
            درضمن اون c% و 26 که توی printf هستش رو چطور بعدش ارسال کنیم؟
            www.gam-co.blogsky.com

            دیدگاه


              #7
              پاسخ : کمک در برنامه نوشته شده sim900

              فرض کنید میخواین این عبارت رو ارسال کنید:
              A = 13
              این ابتدا اون رو داخل یک متغیر رشته ای (string) به اسم مثلا str ذخیره میکنید.
              بعدش اون متغیر رو با دستور puts میفرستین به خروجی سریال.
              [code=c]
              number=13;
              char str[];
              sprintf(str,"A=%d",number);
              puts(str);
              [/code]
              http://www.eca.ir/forum2/index.php?topic=108455.msg777842#msg777842

              دیدگاه


                #8
                پاسخ : کمک در برنامه نوشته شده sim900

                خیلی ممنون.26 یا همون ctrlz پس چی شد؟
                www.gam-co.blogsky.com

                دیدگاه


                  #9
                  پاسخ : کمک در برنامه نوشته شده sim900

                  از دست اینترنت :angry: :angry: :angry: :angry: :angry: :angry: :angry: :angry:
                  شما اون کد رو انجام بده، اگه درست نشد، این کد رو هم بفرست. ctrlz یا CR یا LF
                  مثلا برای CR یا همون Enter:
                  [code=c]
                  putchar(0x0D);
                  [/code]
                  یا
                  [code=c]
                  putchar(13);
                  [/code]
                  http://www.eca.ir/forum2/index.php?topic=108455.msg777842#msg777842

                  دیدگاه


                    #10
                    پاسخ : کمک در برنامه نوشته شده sim900

                    نوشته اصلی توسط vahidabedi
                    باید echo رو غیرفعال کنید
                    کد:
                    printf("ATE0\r\n");
                    منم یه سوال داشتم. چطوری باید یه متغیر مثل همین دما رو ارسال کرد؟
                    من میتونم یه متنو با دستور زیر ارسال کنم ولی یه متغیر رو نمیدونم چطور میشه!
                    کد:
                    printf("avalin sms sim900 %c",26);
                    سلام ممنون که جواب دادید و وقت گذاشتید
                    اما فک کنم سوال منو متوجه نشدید
                    به این عکس نگاه کنید من میخوام فقط test تو متن sms باشه نه دستورات AT
                    من دستور ATE0 رو هم که زدم اونم تو متن SMSاومد

                    دیدگاه


                      #11
                      پاسخ : کمک در برنامه نوشته شده sim900

                      راستش منم همین مشکلو داشتم. از دوستان پرسیدم گفتن اکو رو خاموش کنم که دستوراتی که ما به ماژول میفرستیم رو بهمون بر نگردونه.
                      www.gam-co.blogsky.com

                      دیدگاه


                        #12
                        پاسخ : کمک در برنامه نوشته شده sim900

                        شما هم با همین دستور ate0 این کارو کردید ؟

                        دیدگاه


                          #13
                          پاسخ : کمک در برنامه نوشته شده sim900

                          بله. ولی مشکل منم حل نشد :cry2:
                          www.gam-co.blogsky.com

                          دیدگاه


                            #14
                            پاسخ : کمک در برنامه نوشته شده sim900

                            جالبه من پرس و جو کردم راهش همینه ولی نمیدونم چرا نمیشه

                            دیدگاه


                              #15
                              پاسخ : کمک در برنامه نوشته شده sim900

                              بله.
                              لطفا اگه به نتیجه ای رسیدید اینجا اعلام کنید که همه در جریان باشیم
                              www.gam-co.blogsky.com

                              دیدگاه

                              لطفا صبر کنید...
                              X