|
السلام عليكم
يبدو انك تعاني من مشكلة تعشيش البرامج الفرعية .... بمعنى انك تقوم باستدعاء برنامج فرعي ومن داخله تستدعي برنامج اخر وهكذا ... وكما تعلم ان لكل متحكم عدد محدد من التفرعات التي يستطيع اسنادها ... حيث انه في كل عملية تفرع يقوم بخزن عنوان المكان الذي تركه ليرجع الية عند انهائه من البرنامج الفرعي ... واذا تفرع من برنامج فرعي .. يصبح عندة عنوانان مخزونان في الذاكرة ... وهكذا ... اغلب المتحكمات البسيطة تستطيع خزن 8 عناوين بعدها تبدأ بخسارة اول عنوان تم خزنة وذلك طبعا يؤدي الى خلل كبير في تنفيذ البرنامج
حا هذه المشكلة يتم باعادة ترتيب البرنامج وتقلل استداعاء البرامج الفرعية داخل بعضها بكثرة .( تعشيش البرامج الفرعية )
البرنامج الذي ارفقتة لم اتمكن من تحميلة لان موقع التحميل مربك قليلا ... كما اني لا اعمل على لغة مايكروسي بل على مايكروبيسك... فعذرا على ذلك
|
مساله ليست كثره استدعاء تحدث مشكله فقط عند وضع داله حساب حرارهcaculated_temperature ضمن داله صوت tone1 وحصرا مشكله في معادله
ولكن اذا وضعت اي داله اخرى مايكروسي لايعطي اي خطأ
وكما ان مشكله حدثت فقط عندما فعلت تايمر0 اما اذا لم افعل تايمر0 وقمت بتشغيل سفن سكمنت بطريقه عاديه مشروع يعمل
عموما استطيع حل هذه مشكله ولكني كنت اتمنى حل هذه مشكله لكي يتم استفاده منها هذه مشاكل في المستقبل لكون اخطاء هي التي تعطي خبره في مجال مايكروكنترولر