اگر از نسخه اورجینال بسکام استفاده میکنید هر چند ماه یکبار نسخه جدیدی همراه با لیست تغییرات در پنل خود دریافت خواهید کرد. در هر نسخه امکانات و توابع بسیاری اضافه شده، برخی از توابع به طور کامل بازنویسی شده و برخی از مشکلات گزارش شدهی نسخههای قبلی برطرف میشود. البته در این بین معمولا باگهای جدیدی هم بوجود میآید.
باگ اخیر که در نسخه 2.0.8.5 کشف کردیم و هزینه چند میلیونی روی دست ما گزاشت مشکل عدم ذخیره سازی رشته در EEPROM بود. قضیه از این قرار بود که پس از پروگرم کردن چندین برد سفارش داده شده دقیقا مطابق روال همیشه میکروها پروگرم شد ولی هیچ کدام کار نمیکردند. پس از دو روز بررسی تمام سخت افزار و حدس و گمان در خصوص میکروها و دیباگ مجدد سورس، در نهایت به این نتیجه رسیدیم که دستور زیر کار نمیکند:
1 2 |
Dim E_pass As Eram String * 16 E_pass = "12345679" |
یعنی پس از اجرای کد بالا هیچ رشته ای در EEPROM ذخیره نمیشد. بلافاصله از Bascom 2.0.8.5 به نسخه 2.0.8.3 دانگرید کردیم و متوجه شدیم که دستور بدرستی کار میکند. سفارشها کنسل شد ولی Bug به پشتیبانی Bascom ایمیل زده شد تا انشاءالله در نسخه بعدی برطرف شود. پس تا اطلاع ثانوی سعی کنید به آخرین نسخه که 2.0.8.5 هست سوئیچ نکنید.
نتیجه گیری:
وقتی در نسخه های اورجینال چنین اتفاقات ناگواری داریم، ببینید در نسخه های قفل شکسته که کد برنامه توسط افراد متفرقه باز شده و پس از دستکاری مجدداً کامپایل میشود و هیچ Patchی بعنوان آپدیت قبول نمیکند به چه میزان خطاهای منطقی خواهیم داشت. پس علاوه بر مشکل اخلاقی و شرعی هرگز از نسخههای قفل شکسته استفاده نکنید تا با مشکلات منطقی در برنامه مواجه نشوید.
(SOLVED)
آپدیت 14020513: فایلی به نام BASC-AVR.DLL توسط کمپانی MCSELEC در پنل آپدیت نرم افزار اورجینال قرار داده شده که با کپی آن در پوشه نصب شده برنامه و در کنار bascavr.exe مشکل حل میشود. این فایل را میتوانید از پنل خود دریافت کنید.
بازدیدها: 224