NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 3946 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
صفحه 2 از 2 نخستنخست 12
نمایش نتایج: از 21 به 29 از 29

موضوع: مشکل با نوشتن در eeprom در زیر برنامه وقفه تایمر

  1. #21
    کاربر علاقه مند mahdifah آواتار ها
    تاریخ عضویت
    Aug 2009
    نام
    محمد مهدی
    نوشته ها
    99
    تشکر
    19
    تشکر شده 53 بار در 36 پست

    پیش فرض

    من نوشتم تستش کنم ولی فکر نمیکنم جواب بده. چون توی حالت عادی و بدون استفاده از وقفه توش جای خوندن اشتباه نمینویسه. فقط زمانی توی حافظه اظلاعات غلط مینویسه که از وقفه استفاده کرده باشم

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


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

  4. #22
    کاربر علاقه مند mahdifah آواتار ها
    تاریخ عضویت
    Aug 2009
    نام
    محمد مهدی
    نوشته ها
    99
    تشکر
    19
    تشکر شده 53 بار در 36 پست

    پیش فرض

    آقا ما تستشم کردیم ولی جواب ندادش. موندم چیکار کنم واقعا!!!!!!!!!!! 2 یا 3 ماهه رو این مشکل گیر کردم

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


  6. #23
    کاربر علاقه مند scienceaddict آواتار ها
    تاریخ عضویت
    Jan 2013
    نام
    محمد رضایی
    نوشته ها
    22
    تشکر
    16
    تشکر شده 15 بار در 12 پست

    پیش فرض

    سلام دوست عزیز
    دوست عزیز من شما تاپیکی که گذاشتم رو خوندی ؟
    تابع نوشتن شما در حافظه اشتباه است ، به صورت زیر اصلاح کنید

    کد:
    BYTE read_ext_eeprom(long int address) {   
     BYTE data;    
     while(!ext_eeprom_ready());  
      i2c_start();  
      i2c_write((0xa0|(BYTE)(address>>7))&0xfe);  
      i2c_write(address);
       i2c_stop();
       i2c_start(); 
       i2c_write((0xa0|(BYTE)(address>>7))|1);   
     data=i2c_read(0); 
       i2c_stop();  
      return(data); }

    من باز هم ازمایش کردم و دوتا عکسی که پایین گذاشتم عکس هایی اند که تو پروتیوس دیباگ کردم ، شما برای خوندن دیتا باید بعد از شرایط شروع ، و A0 و آدرس ، شرایط پایان ایجاد کنید ، دوباره شرایط شروع ، A1 ، و گرفتن دیتا ، شرایط پایان
    شما عکس ها رو نگاه کن
    تنها نکته اینه که چون AT24C512 هست بعد از دستور A0 آدرس باید دوبار (16 بیتی) نوشته بشه ، در عکسی که نوشتن بصورت اشتباه انجام شده ، I2C دیباگر ، شرایط پایان و شروع رو اصلا احساس نکرده واسه همین نمایش نداده ، میتونم برنامه رو برات قرار بدم تا خط به خط خودت دیباگ کنی

    http://s2.picofile.com/file/77130228...READ_WRITE.jpg
    http://s3.picofile.com/file/77130232...READ_WRITE.jpg

    واقعا دو سه ماهه رو این مورد مشکل داری؟ ، اگه اگه شروع کرده بودی اسمبلی میخوندی الان تمومش کرده بودی

    Good Luck
    ویرایش توسط scienceaddict : 04-04-2013 در ساعت 00:39

  7. #24
    کاربر علاقه مند mahdifah آواتار ها
    تاریخ عضویت
    Aug 2009
    نام
    محمد مهدی
    نوشته ها
    99
    تشکر
    19
    تشکر شده 53 بار در 36 پست

    پیش فرض

    خوب عزیز منم برنامه بالار تستش کردم دیگه. بعد از چند دقیقه اطلاعات اشتباه مینویسه توی حافظه. شما به صورت عملی ببندید متوجه میشیدمیشید. بعد از چند دقیقه که بگذره هر از چند دقیقه ای توی یه حافظه یه چیزی مینویسه. بیشترم 167 مینویسه نمیدونم چرا

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


  9. #25
    کاربر علاقه مند scienceaddict آواتار ها
    تاریخ عضویت
    Jan 2013
    نام
    محمد رضایی
    نوشته ها
    22
    تشکر
    16
    تشکر شده 15 بار در 12 پست

    پیش فرض

    سلام دوست عزیز
    ببخشید من منظورتونو متوجه نشدم
    بهر حال من تو پروتیوس تست کردم و عملا هم دیدم که تو خوندن اون شرط پایان باید باشه و اگر باشه درسته ، خط به خط برنامه ام رو تو پروتیوس دیباگ کردم عکسش هم گذاشتم یعنی نهایت مطمئن ، عملا تو یه خونه فقط نوشتم و خوندم ، برای At24C16
    اما حتما حتما حتما ، ظهر دوتا برنامه جدا برای دوتا میکرو مینویسم که یکی تو تمام خونه های At24C16 دیتا هایی رو بنویسه ، بعد حافظه رو میذارم روی یه میکروی دیگه با یه برنامه دیگه که فقط حافظه رو بخونه ، بفرسته به سریال ، شکل دیتا ها رو تو متلب میکشم میذارم همینجا ، عجبب کارم سخت شد
    اینجوری مطمئن میشیم که کجا اشتباهه ، مشکل یا از طرز نوشتن و خوندن ما تو این حافظه هست یا از جای دیگه ،
    بالاخره پیداش میکنیم دیگه
    تا نیمروز

    Good Luck
    ویرایش توسط scienceaddict : 04-04-2013 در ساعت 03:44

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


  11. #26
    کاربر علاقه مند mahdifah آواتار ها
    تاریخ عضویت
    Aug 2009
    نام
    محمد مهدی
    نوشته ها
    99
    تشکر
    19
    تشکر شده 53 بار در 36 پست

    پیش فرض

    آقا دمت گرم انصافا. من 1 حافظه خالی فقط میخونم حتی توش اصلا نمینویسم. وقتی خالی باشه همه بایتاش 255 هستن.ولی زمانی که زمان وقفر کم میکنم جای اینکه بخونه مینویسه توش. من یه برنامه گذاشتم که فقط میخونه و یه برنامه هم نوشتم که از رو حافظه میخونه و روی ال سی دی نشون میده اطلاعاتش. میخاید اونم بزارم؟؟ میشه بگید شما با متلب چطوری شبیه سازی میکنید؟ با همین زبان سی شبیه سازی میکنید؟؟
    یه چیزیرم یادم رفت بگم. من فقط 1 بایت نمیخونم و بعد از خوندن اون یه بایت توی حافظه نوشته بشه. من میزارم 1 ربع , بیست دقیقه میمونه , بعدش که میام میخونم و روی ال سی دی نگاهش میکنم 2 یا 3 بایتش فقط توش نوشته شده.

    من فکر میکنم برنامه میاد تا خط قبل از استوپ اولی اجرا میکنه و بعد وقفه روی میده . سی پی یو میره و کارای وقفر انجام میده , وقتی بر میگرده جای اینکه بره بقیه برنامر اجرا کنه دوباره اون تابع از اول میخونه. واسه همین جای خوندن مینویسه توش
    ویرایش توسط mahdifah : 04-04-2013 در ساعت 12:18

  12. #27
    کاربر علاقه مند scienceaddict آواتار ها
    تاریخ عضویت
    Jan 2013
    نام
    محمد رضایی
    نوشته ها
    22
    تشکر
    16
    تشکر شده 15 بار در 12 پست

    پیش فرض

    سلام دوست عزیز
    من همین برنامه ای که تو پست #23 هست رو به اسمبلی اجرا کردم ، تو تمام خونه های AT24C16 به ترتیب FF و 00 یکی در میون نوشتم ، بعد از نوشتن پورت B چشمک میزنه ،
    بعد با یه میکرو دیگه که برنامش تو لینک هست ، کل 2048 بایت حافظه رو خوندم و با باود ریت 4800 بیت بر ثانیه میفرسته برای سریال ، خروجیش هم نات کردم دادم به پورت کام ، برنامه متلب هم تو فایل read قرار دادم ، متلب انقدر سطحش بالاست که برنامه اش نیاز به توضیح نداره خیلی ساده است ، پورت رو باز میکنه دیتا رو میگیره و نمودارشو میکشه ، تاخیر ها خییییییلی زیاد هستند میدونم اما ببخشید برنامه رو عجله ای نوشتم ، اما کار میکنه
    AT24C16
    خب حالا که مطمئن شدیم برنامه ی پست #23 شما درسته ، اما شما میگی که به جای خوندن مینویسه ، باید ببینیم چرا ، ببینید تو دوتا عکسی که گذاشتم ، I2C Debugger پروتیوس شرایط شروع جدید رو اصلا احساس نکرد ، تو برنامه ی پست #23 شما ، اگه شرایط پایان نباشه یا به هر دلیلی درست انجام نشه ، آی سی شرط شروع بعد از شرط پایان رو احساس نمیکنه ، و فکر میکنه بایت بعدی که قراره بیاد باید بنویسه ، بایت بعدی هم A1 یا 161 هست ، که شما میگفتی بیشتر 161 مینویسه ، دلیل مشکل اینه ، شما برنامه ات رو با I2C دیباگر پروتیوس دیباگ کن ببین مشکل کجاست ، اگه ممکنه برنامه ات رو اینجا هم بذار تا من هم دیباگ کنم
    اگه خواستی عملا ببندی بگو تا برنامه رو تغییر بدم یا بگم خودت تغییر بدی ، چون C16 هشت تا page دویست و پنجاه و شش بایتی داره ولی C8 چهار تا page داره
    Good Luck
    ویرایش توسط scienceaddict : 04-04-2013 در ساعت 18:45

  13. #28
    کاربر علاقه مند mahdifah آواتار ها
    تاریخ عضویت
    Aug 2009
    نام
    محمد مهدی
    نوشته ها
    99
    تشکر
    19
    تشکر شده 53 بار در 36 پست

    پیش فرض

    آقا انصافا خیلی سطح بالا گفتید. میشه میلتون بدید؟؟ من برنامم گذاشتم صفحه 2 دیگه

  14. #29
    تازه وارد
    تاریخ عضویت
    Jun 2013
    نوشته ها
    4
    تشکر
    1
    تشکر شده 1 بار در 1 پست

    پیش فرض

    سلام من دارم برنامه رمز را مینویسم که توش 4 کاربر با رمزهای مختلف وقابل تغییر وارد یه زیر برنامه میشن اما مشکل اینجا ست که موقع کامپایل یه پیام درباره کدword to strمیده که باعث میشه توعمل اعداد روی ال سیدی نمایش داده نشه اما برنامه کار خودش را میکنه تمامی تبدیل هی من هم براساس helpنر م افزارmikroeهست کی میتونه کمکم کنه

صفحه 2 از 2 نخستنخست 12

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

  1. مطالب زیبا
    توسط javad naderi در انجمن گفت و گوي آزاد
    پاسخ: 317
    آخرين نوشته: 19-04-2014, 10:54
  2. فلزیاب با برد 1 متر
    توسط sobhan537 در انجمن موتورها و درایوها
    پاسخ: 0
    آخرين نوشته: 06-07-2013, 17:38
  3. چطور ولتاژ خروجی pio رو زیاد کنم
    توسط gbg در انجمن AT91 series (ATMEL)
    پاسخ: 10
    آخرين نوشته: 22-05-2013, 12:01
  4. جملات قصار و زیبا
    توسط morteza_rk در انجمن گفت و گوي آزاد
    پاسخ: 3
    آخرين نوشته: 05-03-2012, 00:02
  5. قطعات قابل بازیافت از موبایل
    توسط shayanmelody در انجمن سایر موارد مرتبط با میکرو کنترلرها
    پاسخ: 5
    آخرين نوشته: 14-12-2011, 23:13

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

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