نقل قول:
شما فرموديد كه من پايه 49 ماژول riّ به پايه وقفه ميكرو وصل كنم ولي مشكلي كه من دارم اينه كه تا حالا برنامه نويسي با وقفه كار نكردم و اصلا هم نمي دونم اين كارو چطوري بايدانجام بدم اگه شما لطف كنيد و بگيد كه چطوري من برنامه بنويسم ممنون ميشم اگه با codevision يا بسكام هم باشه ممنون ميشم.
برای آشنایی با وقفه های خارجی در بسکام به کتاب مهندس کاهه یا کتاب PDF جناب 1Nafar که توی سایت خودمون هست مراجعه کنید. در کدویژن هم به کتاب های موجود سری بزنید. البته در هر دو مورد Help نرم افزار هم می تونه منبع آموزشی خوبی باشه.
نقل قول:
2-شما توي pdf اموزشيتون گفته بوديد كه براي خواندن پيام از ماژول ، ماژول يه فرمت داره كه ميشه از روي اون فهميد كه تمام كاركترها ارسال شده يا نه ، اگه شما لطف كنيد و بگيد كه غالب يا فرمت اين كه بفهميم شماره فرستنده را بگيد ممنون ميشم ( شما از كجا فهميديد كه بايد با كاركتر + بايد عمل مقايسه رو انجام بدم )
اگه دقت کرده باشید توی همون آموزش ، عکس زیر هم هست. توی این عکس کل اطلاعاتی که همراه sms میاد معلومه. اگه نگاه کنید شماره ی موبایل رو هم می بینید. خب توجه کنید که چنتا علامت + قبل از شماره هست؟
[Dear Guest/Member you can't see link before replyclick here to register]
نقل قول:
- اگه بخوام از حالت forward استفاده كنم ؟دستور خاصي وجود داره اينطوري كه مثلا وقتي پيام از طرف مقابل مي ياد من مقدار خروجي مورد نظر از كانال adc بگيرم و ارسال كنم .
من تا حالا همچین دستوری ندیدم (SIM300 که نداره) باید خودتون با میکرو ایجادش کنید ، خیلیم سادست.
نقل قول:
شرمنده من يه سوال در رابطه با وقفه از شما داشتم ، شما فرموديد كه وقتي به ماژول sms
مي ياد يك كد نا خواسته از پايه 49 ماژول كه متصل به يكي از ورودي هاي وقفه ميكرو هست ارسال ميشه و از اين طريق ميشه فهميد پيام دريافتي ما در كدوم يكي از خانه هاي ماژول ذخيره شده . حالا من يه سوال دارم اگه من بخوام براي اون برنامه بنويسم اين از نوع يه وقفه خارجي محسوب ميشه يا يك وقفه داخلي كه مربوط به بخش سريال؟ من فكر كنم كه يك وقفه خارجي؟ نظر شما چيه ؟
این یک وقفه ی خارجی هست.
نقل قول:
حالا در زير برنامه وقفه من چطور بايد برنامه بنويسم مثلا چطور بايد بفهمم كه ماژولم Sms دريافت كرده تا با اون عمل مقايسه رو انجام بدم .
زیر برنامه وقتی اجرا میشه که SMS اومده باشه! اگه نیاد که اصلا زیر برنامه اجرا نمیشه! پس شما باید کد قسمت خوندس SMS رو به زیر برنامه منتقل کنید.
نقل قول:
دوم اينكه بعد از اينكه فهميدم ماژولم sms دريافت كرده چطوري و باچه دستوري بايد اون مقدار ناخواسته توليد شده رو كه شما گفتيد نشان دهنده محل ذخيره پيام را دريافت كنم. تا با استفاده از اون بتونم پيامم را بخوانم .
همه ی اطلاعات رسیده از پورت سریال ماژول رو چه SMS باشه و چه کد ناخواسته میشه با همون تیکه کد خوندن SMS خوند!
نقل قول:
دوم اينكه بعد از اينكه فهميدم ماژولم sms دريافت كرده چطوري و باچه دستوري بايد اون مقدار ناخواسته توليد شده رو كه شما گفتيد نشان دهنده محل ذخيره پيام را دريافت كنم. تا با استفاده از اون بتونم پيامم را بخوانم .
اصلا يه سوال شما كه برنامه خواندن پيام نوشتيد از كجا مطمئنيد كه مثلا پيام در خانه يك حافظه قرار داره؟ شايد در يكي ديگر از خانه هاي ديگر حافظه برود. ودر خواندن پيام هاي بعدي كه به ماژول مي ياد دچار مشكل بشيم.( مثلا شما در برنامتون مي يان پيام رسيده به خانه 1 مي خونيد در سري بعد كه به ماژول پيام مي فرستيم خوب معلوم كه اون (پيام) در يك خونه ديگه حافظه قرار مي گيره و شما در برنامتون داريد پيام موجود در خانه 1 حافظه رو مي خونيد وديگه پيام جديد كه در يكي ديگر از خانه هاي حافظه هست نميشه بخونيد) چطوري اين مشكل حل مي كنيد.
يك سوال ديگر پيام هايي كه به ماژول مي ياد به ترتيب از خانه 1 تا 15 قرار ميگيره يا ترتيبي وجود نداره و به صورت تصادفي؟ اگه ترتيب وجود داره ميشه يه برنامه نوشت كه وقتي پيام مي ياد حتما در خونه 1 حافظه قرار بگيره (يعني مثلا با دستور delete همه پيام هاي موجود در خانه هاي حافظه رو پاك كرد )و بعد از اينكه پيام رسيد به ماژول و در خانه مثلا 1 حافظه قرار گرفت و ما پيام خوانديم و برنامه اي كه خواستيم پياده كرديم بعد بيايم پياممون پاك كنيم تا دوباره وقتي sms مي فرستيم پيام در همون خانه 1 قرار بگيره و از اين بابت ديگه مشكلي نداشته باشيم؟
همه ی این کارارو میشه انجام داد و خیلیم راحته. راه حل پاک کردن sms و ... هم شدنیه و منم قبلا انجام دادم و تست هم کردم. smsها هم بترتیب در خانه های حافظه ذخیره میشن. کلا دیتاشیت رو گذاشتن برای کشف همین سوالات!
در انتها یادآور میشم که پروژه هایی که در مجله آورده میشن برای اینه که خوانندگان بتونن با اصول اولیه راه اندازی آشنا بشن. فقط همین. بقیه اش دیگه مربوط میشه به خود فرد که بخواد کدهارو دست کاری کنه یا تعمیم بده یا اصلا یه جور دیگه بنویسه! ما اینجا فقط یک یا چند روش راه اندازی و اجرا و استفاده رو یاد میدیم محض اطلاع! باقیش دیگه بر عهده ی طرفه.
مخصوصا در زمینه ی این ماژول خیلی ها سوال می پرسن. مخصوصا از طریق ایمیل.
هدف ما فقط آموزش و راه انداختن افراد هست. نمی تونیم برای کسی برنامه بنویسیم. چون واقعا وقتمون کمه!
البته اصلا دوست ندارم کسی از حرفام ناراحت بشه! ولی تلاش شماها باید بیشتر باشه. ما وظیفمونو انجام دادیم.
موفق باشید.