برنامتو ساده کن بدون وقفه بنویس بعد اطلاعاتی رو هم که میگیری مستقیم رو LCD نشون بده .اینجوری بهتر متوجه میشی ایراد کجاست
راستی کریستالتم همون 8 مگاست دیگه ؟
این ماژول حتی در هنگام خاموش بودن فرستنده داده های تصادفی زیادی از محیط می گرفت
من مشکلمو با در نظر گرفتن دو تا بایت بعنوان بایت شروع و یه بایت پایانی به عنوان بایت checksum حل کردم
البته سایر کارهامو با وقفه تایمر انجام دادم
عملاً زیرروال اصلی برنامه مربوط به دریافت داده می شد و در صورت دریافت اطلاعات خاص کار مورد نظر انجام می شد
اینکه وقفه رو در نظر نگرفتم به خاطر همین مسئله بود(نویزهای محیطی و داده های تصادفی)
این داده ها اونقدر زیاد هستن که برای همیشه میکرو رو تو وقفه نگه دارن
موفق باشین
با سلام و تشکر از شما
خوب مشکل اینجاس که من اصلا این ماژول ها را از روی بورد برداشتمشون ... اما باز هم این اتفاق میوفته ... جالب اینجاس که تست کردم وقتی روشن شد و تو وقفه گیر کرد ... حالا که بیام ماژول را نصب کنم از توی وقفه میاد بیرون و میره به کار خودش میرسه !
رو حسابش نباید همچین اتفاقی بیوفته .. ولی نمیدونم کجای کارم اشتباهه
با تشکر
نکته اخلاقی :
همه چیز و همه کس را دوست داشته باش اما به هیچ چیز و هیچ کس دل مبند
با سلام ...
مشکلم که حل نشد و در آخر سر بداشتم با برنامه را با c نوشتم .
این موردی که می فرمایید را اگر میشه بیشتر توضیح بدید .
البته اینم بگم که تقریبا متوجه شدم مشکل از کجاست .
مشکل اینجاس که وقتی میکرو روشن میشه یکبار میره سروقت زیربرنامه و چون داده ای نیومده همونجا گیر میکنه !
چون برداشتم با مقاومت ورودی داده را پول پ کردم دیگه نرفت تو زیر برنامه ! اما خود مقاومت موقع انتقال داده مشکل درست میکرد
با تشکر
نکته اخلاقی :
همه چیز و همه کس را دوست داشته باش اما به هیچ چیز و هیچ کس دل مبند
سلام
برای ارتباط سریال رجسیتری داریم به اسم UDR . اگه توش مقداری را بریزی ، دیتا روی پورت سریال ارسال میشه و اگه توی اینتراپت سریال UDR را بخونی در اصل دیتایی که برات ارسال شده را خوندی .
بهتره توی اینتراپت سریال از دستورات inkey ویا waitkey استفاده نکنی . این دستورات مواقعی که می خوای توی loop برنامت پورت سریال را چک کنی و یا برای ارتباط سریال نرم افزاری بدرد می خوره .
در ضمن یک نکته : بهتره توی اینتراپت های برنامهات از waitآ استفاده نکنی .
دیدگاه