NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 3106 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
نمایش نتایج: از 1 به 7 از 7

موضوع: تغییر فیوزبیت های AVR در داخل برنامه ( CodeVision)

  1. #1
    کاربر فعال M_GH آواتار ها
    تاریخ عضویت
    Mar 2012
    نام
    م. غیور
    نوشته ها
    314
    تشکر
    464
    تشکر شده 367 بار در 177 پست

    Red face تغییر فیوزبیت های AVR در داخل برنامه ( CodeVision)

    سلام خدمت همه مهندسین گرامی
    راستش یک میکرویی هست به نام Tiny13 که کلا 6 تا پایه قابل پروگرم داره که یکیشون RESET هست
    و من سعی دارم از همون یکی هم استفاده کنم که برای اینکار باید فیوزبیت RSTDISBL رو فعال کرد که بعد از اون نمیشه میکرو رو پروگرم کرد (HV Programmer به کنار)
    خب همه این داستانا به کنار !

    با خودم گفتم اگر برنامه رو طوری بریزم که حدود یک ثانیه اول که میکرو روشن مبیشه فیوزبیت RSTDISBL غیرفعال باشه و بعدش فعال بشه
    میشه تو اون یک ثانیه کار پروگرم کردن رو پیش گرفت

    منتهی روشی برای همچین کاری با Codevision پیدا نکردم

    حالا اگر کسی بلده ممنون میشم ب منم یاد بده چطور همچین کاری بکنم


    چاکر شما
    م.غیور

  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نام
    Advertising world
    نوشته ها
    Many
     

  3. #2
    Banned
    تاریخ عضویت
    Apr 2013
    نام
    صادق علی بخشی
    نوشته ها
    1,148
    تشکر
    1,183
    تشکر شده 1,276 بار در 702 پست

    پیش فرض

    نقل قول نوشته اصلی توسط M_GH نمایش پست ها
    سلام خدمت همه مهندسین گرامی
    راستش یک میکرویی هست به نام Tiny13 که کلا 6 تا پایه قابل پروگرم داره که یکیشون RESET هست
    و من سعی دارم از همون یکی هم استفاده کنم که برای اینکار باید فیوزبیت RSTDISBL رو فعال کرد که بعد از اون نمیشه میکرو رو پروگرم کرد (HV Programmer به کنار)
    خب همه این داستانا به کنار !

    با خودم گفتم اگر برنامه رو طوری بریزم که حدود یک ثانیه اول که میکرو روشن مبیشه فیوزبیت RSTDISBL غیرفعال باشه و بعدش فعال بشه
    میشه تو اون یک ثانیه کار پروگرم کردن رو پیش گرفت

    منتهی روشی برای همچین کاری با Codevision پیدا نکردم

    حالا اگر کسی بلده ممنون میشم ب منم یاد بده چطور همچین کاری بکنم


    چاکر شما
    م.غیور
    سلام
    تا اونجایی که من میدونم برای ای وی ار نمیشه توی برنامه فیوز بیت تنظیم کرد
    اگر pic بود یه چیزی ولی avr نه
    چرا از یه میکروی دیگه یا از یه دیکدر استفاده نمیکنی؟

  4. تشکرها از این نوشته :

    KHM

  5. #3
    کاربر فعال M_GH آواتار ها
    تاریخ عضویت
    Mar 2012
    نام
    م. غیور
    نوشته ها
    314
    تشکر
    464
    تشکر شده 367 بار در 177 پست

    پیش فرض

    سلام
    ممنون از جوابتون

    دلیل اینکه از یک میکرو دگه یا دیکدر استفاده نمیکنم هم اینه که هزینه کل حدود 2هزار تمن بیشتر میشه که در اون صورت نمیصرفه !!

    یکم دگه گشتم و اینو پیدا کردم :
    : Fuse Support
    اما دقیق نفهمیدم !! ایا کاری ک من می خوام میشه باهاش کرد یا نه؟

    همچنین اینکه فک کنم با اسمبلی بشه، از اسمبلی هم میشه تو codevision استفاده کرد
    ولی من اسمبلی بلد نیستم !


    دوستان پیشنهاد دگه ای هم دارین ؟

  6. #4
    کاربر ارشد 1nafar آواتار ها
    تاریخ عضویت
    Jul 2007
    نوشته ها
    2,745
    تشکر
    1,266
    تشکر شده 4,874 بار در 1,377 پست

    پیش فرض

    نقل قول نوشته اصلی توسط M_GH نمایش پست ها
    سلام
    ممنون از جوابتون

    دلیل اینکه از یک میکرو دگه یا دیکدر استفاده نمیکنم هم اینه که هزینه کل حدود 2هزار تمن بیشتر میشه که در اون صورت نمیصرفه !!

    یکم دگه گشتم و اینو پیدا کردم :
    : Fuse Support
    اما دقیق نفهمیدم !! ایا کاری ک من می خوام میشه باهاش کرد یا نه؟

    همچنین اینکه فک کنم با اسمبلی بشه، از اسمبلی هم میشه تو codevision استفاده کرد
    ولی من اسمبلی بلد نیستم !


    دوستان پیشنهاد دگه ای هم دارین ؟
    سلام
    این کار برای gcc ( کامپایلر win avr ) قابل اجرا هست . در آدرس زیر توضضیحات بیشتر وجود داره :
    View topic - [TUT] Using FUSE bits from C code :: AVR Freaks
    توی بسکام هم این کار شدنی هست .
    ============
    اگه درست متوجه منظور شما شده باشم ، شما نیازی به انجام کار های بالا ندارید .
    اول برنامه روی میکرو پروگرام کن ( بدون تنظیم فیوز بیت reset )
    بعد فیوز بیت ها رو برنامه ریزی کن.
    توی میکروکنترلر های avr فیوز بیت ها در حافظه ی فلش ذخیره نمیشن و برنامه ریزی اونا تغییری در برنامه ی میکروکنترلر ایجاد نمیشه .

  7. کاربران : 5 تشکر کرده اند از شما 1nafar برای ارسال این پست سودمند:


  8. #5
    مدیرکل انجمنها
    تاریخ عضویت
    May 2011
    نام
    احسان صفامنش
    نوشته ها
    1,763
    تشکر
    919
    تشکر شده 2,261 بار در 1,056 پست

    پیش فرض

    این فیوز وقتی پروگرم بشه فکر کنم بعدش دیگه اون میکرو دوباره پروگرم نمیشه.
    شما باید در برنامه حالتی ایجاد کنید که قابلیت غیر فعال کردن دوباره فراهم بشه. امیدوارم بشه.

  9. #6
    کاربر فعال
    تاریخ عضویت
    Jul 2010
    نام
    مرتضی مجتهدی
    نوشته ها
    313
    تشکر
    1
    تشکر شده 358 بار در 203 پست

    پیش فرض

    اکثر فیوزبیت های avr ها به صورت داخلی قابل دسترسی نیستند و امکان تغییر اونها از طریق دستور هایی از بیرون هست . مثلا در اکثر Avr (نه همه ) شما نمی تونید فیوزبیت مربوط به تغییر نوع اسیلاتور رو عوض کنید ! مثلا از 8 مگ داخلی به سرعتی دیگه یا حتی خارجی تغییر بدید .
    این کار عملا شدنی نیست

  10. کاربران : 2 تشکر کرده اند از شما modj.ir برای ارسال این پست سودمند:


  11. #7
    تازه وارد
    تاریخ عضویت
    Oct 2015
    نوشته ها
    1
    تشکر
    0
    تشکر شده 0 بار در 0 پست

    پیش فرض مشکل اتصال کلید به میکر

    سلام
    چرا این برنامه در پرتیوس کار میکنه ولی عملا با آی سی وقتی که پوش باتن رو رها میکنم دوباره ال ای دی اول روشن میشه:


    #include <mega8.h>
    #include <delay.h>
    // Declare your global variables here
    int i;
    void s1(void);
    void s2(void);
    void main(void)
    {
    // Declare your local variables here


    PORTB=0x00;
    DDRB=0xFF;


    PORTC=0x00;
    DDRC=0x00;


    PORTD=0x00;
    DDRD=0x00;
    while (1)
    {
    // Place your code here
    if (PIND.0==0&&i==0){
    s1();}
    if (PIND.0==1){
    i=0;}
    }
    }
    void s1(void)
    {


    PORTB.0=~PORTB.0;
    delay_ms(200);
    PORTB.0=0;
    i=1;
    if (PIND.0==0&&i==1){
    s2();
    }
    }
    void s2(void){
    PORTB.1=~PORTB.1;
    delay_ms(200);
    PORTB.1=0;}

    - - - Updated - - -

    سلام
    چرا این برنامه در پرتیوس کار میکنه ولی عملا با آی سی وقتی که پوش باتن رو رها میکنم دوباره ال ای دی اول روشن میشه:


    #include <mega8.h>
    #include <delay.h>
    // Declare your global variables here
    int i;
    void s1(void);
    void s2(void);
    void main(void)
    {
    // Declare your local variables here


    PORTB=0x00;
    DDRB=0xFF;


    PORTC=0x00;
    DDRC=0x00;


    PORTD=0x00;
    DDRD=0x00;
    while (1)
    {
    // Place your code here
    if (PIND.0==0&&i==0){
    s1();}
    if (PIND.0==1){
    i=0;}
    }
    }
    void s1(void)
    {


    PORTB.0=~PORTB.0;
    delay_ms(200);
    PORTB.0=0;
    i=1;
    if (PIND.0==0&&i==1){
    s2();
    }
    }
    void s2(void){
    PORTB.1=~PORTB.1;
    delay_ms(200);
    PORTB.1=0;}

موضوعات مشابه

  1. تنظیم فیوزبیت ها
    توسط pesaroone در انجمن AVR
    پاسخ: 0
    آخرين نوشته: 26-07-2013, 17:35
  2. فیوزبیت lpc1768?
    توسط mansoory در انجمن LPC series (NXP)
    پاسخ: 1
    آخرين نوشته: 11-03-2013, 17:54
  3. پاسخ: 0
    آخرين نوشته: 09-02-2012, 23:54
  4. فیوزبیت های pic
    توسط hetler در انجمن PIC
    پاسخ: 4
    آخرين نوشته: 23-12-2011, 17:33
  5. فیوزبیت ckopt
    توسط safavism در انجمن AVR
    پاسخ: 1
    آخرين نوشته: 23-08-2011, 14:19

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •