سلام خدمت همه دوستان!
از اون جایی که نشد من یک کاری طبق روال معمولش طی کنم و نتیجه مطلوبم برسم این تاپیک را زدم!
تابع زیر رو واسه ارسال sms در sim800 نوشتم. قبلا جواب میداد و هیچ مشکلی نداشت اما الان فقط بار اولی که فراخوانی میشه پیام را میفرسته! و بار دوم دگ جواب نمیده.
روال برنامه به این صورته که من یک دستور را توسط sms به میکرو میفرستم و میکرو کد مربوطه را اجرا میکنه ، بعضی از این دستورات پیام تاییدیه برگشتی دارند!
حالا اگه دستوری که میفرستم تاییدیه نداشته باشه خیلی عالی اجرا میشه ولی اگه پیام تاییدیه داشته باشه تابع زیر فقط در اولین فراخوانی کار خودش رو انجام میده و دفعات بعدی اصن بیخیاله!
به نظرتون کدش مشکلی داره؟؟؟
از اون جایی که نشد من یک کاری طبق روال معمولش طی کنم و نتیجه مطلوبم برسم این تاپیک را زدم!
تابع زیر رو واسه ارسال sms در sim800 نوشتم. قبلا جواب میداد و هیچ مشکلی نداشت اما الان فقط بار اولی که فراخوانی میشه پیام را میفرسته! و بار دوم دگ جواب نمیده.
روال برنامه به این صورته که من یک دستور را توسط sms به میکرو میفرستم و میکرو کد مربوطه را اجرا میکنه ، بعضی از این دستورات پیام تاییدیه برگشتی دارند!
حالا اگه دستوری که میفرستم تاییدیه نداشته باشه خیلی عالی اجرا میشه ولی اگه پیام تاییدیه داشته باشه تابع زیر فقط در اولین فراخوانی کار خودش رو انجام میده و دفعات بعدی اصن بیخیاله!
به نظرتون کدش مشکلی داره؟؟؟
کد:
void sms(char *number,char *mess) { printf("AT+CMGS=%c%s%c%c",J_COT,number,J_COT,ENT);delay_ms(1800); printf("%s%c%c",mess,13,ctrl_z);delay_ms(1500); for(count=0;buffer[count-2]!='O';count ++){ buffer[count]=getchar();}strcpy(buffer,""); }
دیدگاه