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

موضوع: کتابخانه ds1307

  1. #1
    کاربر فعال titery آواتار ها
    تاریخ عضویت
    Dec 2011
    نام
    وثوق
    نوشته ها
    166
    تشکر
    363
    تشکر شده 218 بار در 89 پست

    Icon17 کتابخانه ds1307

    سلام به دوستان
    کسی کتابخانه ds1307 برای 1768 یا 1788 داره که از دستورات cmsis هم استفاده شده باشه.من یک درایور ds مال pic که کار میکنه رو انطباق دادم برای 1788 منتها در قسمت ACK فرستادن SLAVE به MASTER مشکل دارم و در مجموع برنامه جواب نمیده!!

    یک سوال دیگه اینه که وقتی باتری بکاپ به میکرو وصل کنم و اگر تغذیه میکرو قطع بشه چه قسمت هایی از میکرو فعال میمونه .آیا rtc داخلی ریست نمیشه؟رم چطور؟ و در مجموع تو این حالت باتری چند ساعت میکرو رو جواب میده؟

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


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

  4. #2
    کاربر فعال titery آواتار ها
    تاریخ عضویت
    Dec 2011
    نام
    وثوق
    نوشته ها
    166
    تشکر
    363
    تشکر شده 218 بار در 89 پست

    Thumbs up فایل کتابخانه ds1307

    بالاخره بعد کلی اذیت کردن ds1307 برای این آیسی یک کتابخونه برای I2C و یکی برای ds1307 جمع و جور کردم،خوبی این دو فایل خوبه که با تغییر دادن پنج تا ماکرو میتونی برای هر میکرو کنترلی استفاده کنید(از I2C سخت افزاری استفاده نکردم).
    یک نکته دیگه سعی کنید حدلامکان ds رو نزدیک میکروتون بزارید وگرنه موقع خواندن دیتا ها بعضی هاشون رو اشتباه دریافت میکنید.
    فايل هاي پيوست شده فايل هاي پيوست شده
    • نوع فایل: rar I2C.rar (2.4 کیلو بایت, 219 نمايش)

  5. #3
    کاربر علاقه مند
    تاریخ عضویت
    Nov 2007
    نام
    مجید بوکانی نژاد
    نوشته ها
    30
    تشکر
    56
    تشکر شده 30 بار در 15 پست

    پیش فرض

    سلام مهندس ،چرا از ساعت داخلی میکرو استفاده نمیکنی؟ ds1307 دردسر داره

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


  7. #4
    کاربر فعال titery آواتار ها
    تاریخ عضویت
    Dec 2011
    نام
    وثوق
    نوشته ها
    166
    تشکر
    363
    تشکر شده 218 بار در 89 پست

    پیش فرض

    نقل قول نوشته اصلی توسط mbntechco نمایش پست ها
    سلام مهندس ،چرا از ساعت داخلی میکرو استفاده نمیکنی؟ ds1307 دردسر داره
    سلام یکم درباره همین RTC ابهام داشتم.موقعی که تغذیه میکرو قطع بشه، باتری بکاپ چه قسمت هایی رو تامین میکنه؟
    ds1307 چه دردسرهایی داره؟
    ممنون

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


  9. #5
    Banned
    تاریخ عضویت
    Apr 2011
    نام
    مهدی رحیمی
    نوشته ها
    727
    تشکر
    1,015
    تشکر شده 1,448 بار در 579 پست

    پیش فرض

    سلام اقای وثوق وقتی تغذیه قطع میشه وظیفه باطری بک اپ نگهداری حافظه رجیستر rtc هستش و جریان بسیار پایینی مصرف میکنه مثالشو هم که براتون فکر کنم فرستادم خیلی راحته سری رو هم که درد نمیکنه دستمال نمیبندن که مهندس خود 1768 و 1788 دارای rtc داخلی با دقت بالایی هستن وقتی بخواین از ds1307 استفاده کنید هم باید هزینه اضافی بدین هم دوتا پین میکروتون اشغال میشه هم باید درگیر برنامه نویسیه اون بشین بازم اگر خواستین بگین مثال 1788 رو بزارم روی پورت سریال هر یک ثانیه زمان رو نشون میده
    ویرایش توسط kamikazi : 13-10-2013 در ساعت 13:05

  10. کاربران : 5 تشکر کرده اند از شما kamikazi برای ارسال این پست سودمند:


  11. #6
    تازه وارد
    تاریخ عضویت
    Dec 2013
    نوشته ها
    3
    تشکر
    0
    تشکر شده 1 بار در 1 پست

    پیش فرض

    سلام
    آقا حالا که بحث RTC داخلی میکرو (به طور خاص 1788 مد نظرمه) مطرح شد کسی میدونه دقیقا دقت اون چند ppm هست یا اینکه در هر سال چند دقیقه ممکنه شیفت زمانی پیدا کنه

  12. #7
    کاربر علاقه مند
    تاریخ عضویت
    Jul 2013
    نوشته ها
    22
    تشکر
    1
    تشکر شده 9 بار در 5 پست

    پیش فرض

    من از کتابخانه i2c بالا برای EEPROM استفاده کردم
    کد تابع main به صورت زیر می باشد:

    کد:
    //i2c write
    I2C_Configuration();
            I2C_Start();
            I2C_SendByte(0xa0) ;
            I2C_SendByte(2) ;
            I2C_SendByte(0xAA) ;
            I2C_Stop();
            Delay(500);
             //i2c read
            I2C_Start();
            I2C_SendByte(0xa0) ;
            I2C_SendByte(2) ;
            I2C_Start();
            I2C_SendByte(0xa1) ;
            buf[1]=I2C_ReceiveByte(0) ;
            I2C_Stop();
    هنگام خواندن در متغییر buf به جای 0xAA فقط 0xff نوشته می شود
    مشکل کجا است؟؟

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


  14. #8
    کاربر فعال titery آواتار ها
    تاریخ عضویت
    Dec 2011
    نام
    وثوق
    نوشته ها
    166
    تشکر
    363
    تشکر شده 218 بار در 89 پست

    پیش فرض

    سلام اگه از آیسی at24c02 استفاده میکنید این یک نمونه مثال عملی
    فايل هاي پيوست شده فايل هاي پيوست شده
    • نوع فایل: rar USER.rar (3.1 کیلو بایت, 65 نمايش)

  15. #9
    کاربر علاقه مند
    تاریخ عضویت
    Jul 2013
    نوشته ها
    22
    تشکر
    1
    تشکر شده 9 بار در 5 پست

    پیش فرض

    نقل قول نوشته اصلی توسط titery نمایش پست ها
    سلام اگه از آیسی at24c02 استفاده میکنید این یک نمونه مثال عملی
    ممنون از پاسختان
    کد شما را دیدم چیزی که متوجه شدم به این صورت است:از کد :
    کد:
    for( i = 0; i < 256; i++ )
        {
            while( I2C_WriteByte(WriteBuffer[i], i,  ADDR_24LC02) );
        }
    برای نوشتن اطلاعات WriteBuffer استفاده شده است که به ترتیب ار 0 تا 255 اطلاعات را در EEPROM می نویسد
    برای خواندن هم از کد زیر استفاده شده است:

    کد:
    while( I2C_ReadByte(ReadBuffer, sizeof(WriteBuffer),0, ADDR_24LC02) );

    چرا داخل while ؟

    اگر امکان دارد یک کم بیشتر در مورد کدی که قزاز دادیه اید توضیح بدهید
    ویرایش توسط mohsenarm : 15-03-2014 در ساعت 15:30

  16. #10
    کاربر علاقه مند
    تاریخ عضویت
    Jul 2013
    نوشته ها
    22
    تشکر
    1
    تشکر شده 9 بار در 5 پست

    پیش فرض

    برنامه زیر که با استفاده از کتابخانه فوق نوشته شده که buf را مقدار می دهد و در EEPROM می نویسد. و بعد از آن می خواند


    کد:
    uint8_t buf[8];
    I2C_Configuration();
     buf[0]=2;
          I2C_WriteByte(buf[0], 0,  ADDR_24LC02);
                buf[0]=0;
                I2C_ReadByte(buf, 2,0, ADDR_24LC02);
    اما هیچ مقداری در buf ریخته نمی شود!!! اشکال کار کجاست؟

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

    پیش فرض

    سلام به همگی آیا lpc1768 هم مثل ds1307 مقداری nvrom داره که در صورت قطع برق مقدار نوشته شده روی ان پاک نشود (درصورت وجود
    باطری بک اپ
    )؟؟

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

  1. ds1307
    توسط abolfazlk873 در انجمن PIC
    پاسخ: 2
    آخرين نوشته: 25-03-2014, 19:00
  2. ds1307 در اسمبلی ؟
    توسط Deadman در انجمن AVR
    پاسخ: 1
    آخرين نوشته: 11-02-2014, 19:55
  3. Ds1307
    توسط cmuiran در انجمن LPC series (NXP)
    پاسخ: 32
    آخرين نوشته: 02-12-2013, 12:44
  4. ds1307
    توسط pooriya_nic18 در انجمن AVR
    پاسخ: 1
    آخرين نوشته: 25-10-2013, 23:34
  5. مشکل در ds1307
    توسط esmaeil57 در انجمن AVR
    پاسخ: 0
    آخرين نوشته: 07-10-2013, 11:34

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

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