ايران ويج

نسخه‌ی کامل: مشکل در تعریف کلاک Attiny2313 , Attiny2313v
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
با سلام خدمت دوستان عزیز ایران ویجیییییییییییییییییییییییییی

آقا نمیدونم ما آلزایمر گرفتیم یا خدمت تجربیات ناچیزمون رو گرفت؟؟؟!!ConfusedAmaze


نمیدونم از دیروز تا خالا ی چیزی حدود 7 ساعت روی این برنامه زیر وقت گذاشتم اما دریغ از ی نتیجهههههههه،دیگه علاوه بر آلزایمر نشانه هایی از خودزنی هم دیده میشه!

مشکل اینجاس ک دستورات تاخیری درست کار نمیکنن مثلا در برنامه زیر،در عمل ب جای اینکه 1 ثانیه تاخیر داشته باشیم چیزی حدود 3ثانیه داریم

کد:
$regfile = "attiny2313.dat"
$crystal = 4000000

Config Portd.5 = Output

  Do
  Toggle Portd.5
  Wait 1
  Loop

  End

حتی فیوز بیت رو هم روی 4 مگ داخلی تنظیم کردم باز جواب نداد،
فقط در ی صورت مشکل حل میشه اونم اینکه،فرکانس داخلی رو هر چیزی میخواد باشه ولی $crystal=1000000باشه،اونوقت همه چی درسته.
(بنا رو روی 2313v گذاتشتم چون حداکثر فرکانس کاریش 4 مگ هس)

س سئوال دیگه؟؟؟؟؟؟؟؟؟؟؟؟

کسی در مورد فیوز بیت DWEN که همونDebugwire هس اطلاعاتی داره!

خودش ی جور قفل برنامه از دستکاری پی بردم بعد از فعال کردین این بیت دیگه میکرو توسط پروگرامر قابل شناسایی نیس،بعد از این در و اون در زدن مشخص شد ی جور قفل برنامه فلش هس؛به عبارتی قفل قفل میکرووووووووووووووو


خلاصه ایی از این بیت:
در صورتی ک برنامه ریزی نشده باشد میتوان توسط ارتباط debugwire حافظه میکرو رو خوند حتی اگه میکرو قفل نرم افزاری شده باشد،اما اگه برنامه ریزی بشه،(کار زار میشه)دیگه هیچچچچچچچ کاری نمیشه کرد؛(توکتاب ک نوشته ب هیچ وجه،اما ب هیچ وجه برا ایرانی ک معنی نمیده،اونم تو این تحریم بازار)

حالا کسی هس ب این مشکل بر خورده باشه(از سر کنجکاوی های نابجا)و بتونه کمکی کنه؟؟؟؟؟؟؟؟؟ممنون
کلا مشکل از wait بسکام هست دقیق مقداری رو نمی ده
برنامه رو که نوشتی وقتی فرکانس میکرو رو عوض کنی که زمان باید تغییر کنه رو هوا که نمی شه تاخییر یکسان باشه
کارشما یع جای دیگه ای اشکال داره
---
درمورد دیباگ وایر:
ربطی به قفل سخت افزاری و این بازی ها نداره وقتی فعال بشه پایه ریست از کار می افته در نتیجه دیگه پروگرام نمی شه
راه حلش پروگرامر پارالل
یا یه دیباگرشو بخری اونجا این قابلیت هست که به طور موقت اینو خاموش کنی و اون موقع با isp پروگرام کنی
(۲۲-اردیبهشت-۱۳۹۳, ۱۰:۲۴:۴۲)behzady نوشته است: [ -> ]کلا مشکل از wait بسکام هست دقیق مقداری رو نمی ده
برنامه رو که نوشتی وقتی فرکانس میکرو رو عوض کنی که زمان باید تغییر کنه رو هوا که نمی شه تاخییر یکسان باشه
کارشما یع جای دیگه ای اشکال داره
---
درمورد دیباگ وایر:
ربطی به قفل سخت افزاری و این بازی ها نداره وقتی فعال بشه پایه ریست از کار می افته در نتیجه دیگه پروگرام نمی شه
راه حلش پروگرامر پارالل
یا یه دیباگرشو بخری اونجا این قابلیت هست که به طور موقت اینو خاموش کنی و اون موقع با isp پروگرام کنی

فرمایش شما صحیح مهندس؛
فرض کنید فرکانس میکرو رو گذاشتم 4 مگ بعد از اون طرف فیوز بیت ها رو هم روی 4 مگ تنظیم کردم
حالا بجای اینکه 1 ثانیه تاخیر داشته باشم،(یا با تلرانس بگین 1.2 یا 0.8)ی چیزی حدود 3 ثانیه دارم!!

AmazeSadAmaze




اما وقتی فیوز بیتا روی 4 مگ تنظیم هستن،و داخل برنامه فرکانس رو یک مگ تعریف میکنم همه چی درست میشه!جریان چیه؟!



در مورد دیباگ وایر، مداری از دیباگر دارید؟!
(۲۲-اردیبهشت-۱۳۹۳, ۱۰:۴۱:۰۶)student-p نوشته است: [ -> ]فرمایش شما صحیح مهندس؛
فرض کنید فرکانس میکرو رو گذاشتم 4 مگ بعد از اون طرف فیوز بیت ها رو هم روی 4 مگ تنظیم کردم
حالا بجای اینکه 1 ثانیه تاخیر داشته باشم،(یا با تلرانس بگین 1.2 یا 0.8)ی چیزی حدود 3 ثانیه دارم!!
چیزی در مورد تلورانس گفته نشده منم از این مشکلات داشتم.

نقل قول: اما وقتی فیوز بیتا روی 4 مگ تنظیم هستن،و داخل برنامه فرکانس رو یک مگ تعریف میکنم همه چی درست میشه!جریان چیه؟!
جریان اینه که بسکام یه چیز مشخصی داره بر اساسش تاخییر درست میکنه از کانتر استفاده نمی کنه
دلیلش اینه که خوب الان شما سرعت رو 4 برابر کردی برنامه اونا دقیق نیست حالا شانسی تقریبا نزدیک 1 ثانیه شده

شما جای wait بزار waitms و بزن 1000 میلی صبر کنه می بینی جوابش یکی نیست با wait چون میگم کیلویی این تاخییرات اجرا میشه

نقل قول: در مورد دیباگ وایر، مداری از دیباگر دارید؟!
پروتکلش ازاد نیست تنها دیباگر موجود avrdrogon هست ساخت اتمل اگه توی ایران پیدا بشه ...
شما پروگرامر سریال بسازی راحت تری STK500/STK600 - نسخه ازادش avrdoper
البته باید کاملشو بگیری نسخه هایی ازش هستن که فقط isp دارن
ببخش دوست عزیز

اما من الان با ی 2313 با فرکانس 8 مگ امتحان کردم با ج نداد،حتی فیوز بیت ها رو هم روی 8 مگ خارجی تنظیم کردم(با اتصال ی کریستال 8 مگ)
جالب اینجاس ک عین همین مشکل رو داخل پروتئوسم دارم

باید بگم این اولین باری هس همین چیزی رو میبینم،با خیلی از سری های دیگه کار کردم ولی اینجوریش رو ندیده بودم


بازم ممنون،ببخشید
فرکانس رو با 11 تنظیم کن تعداد صفراش دقیقا یادم نیست ولی تو واقعیت تقریبا دقیق اجرا میشه (رو attiny2313)
سلام.
شما به جای استفاده از wait که خطاش خیلی بالاس ، میتونی از تایمر استفاده کنی.
شما واسه اینکه معلوم بشه مشکل از میکروته ، یا دستور wait اینکارو انجام.
تایمر 8 بیتی (( که فکر کنم تو ATtiny2313 )) تایمر 0 باشه رو با پریسکیلر 1 تقریا واسه 1 ثانیه 20 بار سر ریز میشه.
اینطوری میتونی بفهمی که مشکل از کجاست.
اگرم توضیحاتم واست نا مفهوم بود ، شبیه ساز و سورس رو بم بده تا اینکارایی که گفتم رو روش پیاده کنم :)