نوشتن و خواندن متغیر هایی از نوع int . float در eeprom خارجی با avr چطوره کسی میتونه یه مثال بزاره
اطلاعیه
Collapse
No announcement yet.
نوشتن و خواندن متغیر هایی از نوع int . float در eeprom خارجی با avr
Collapse
X
-
نوشتن و خواندن متغیر هایی از نوع int . float در eeprom خارجی با avr
جدیدترین ویرایش توسط mfazl22; ۰۷:۵۸ ۱۳۹۷/۱۱/۲۱.گاهی نمی شود که نمی شود
گاهی قرعه نگفته به نام تو می شود
گاهی گدای گدایی و چاره چیست
گاهی تمام شهر گدای تو میشود
ای بنده بدان در این عالم ___هرچه خدا خواست همان می شور -
پاسخ : نوشتن و خواندن متغیر هایی از نوع int . float در eeprom خارجی با avr
شما تک بایت تک بایت میتونید بخونید بنویسید - خب حالا متغییر های int مثلا 2 بایتی هستند - 2 بایت 2 بایت باید ذخیره کنید و بخونید - 2 حالت داره -
1-این که هر داده کجا ذخیره میکنید رو تو پروژتون مشخص کردید - فلذا داده ها پشت سر هم قرار میگیرند. ( همون 2 بایت 2 بایت میخونید/مینویسید )
2-مشخص نکردید - بین هر داده -یه بایت خاص میزاری برای جدا کردنشون ( 3 بایت 3 بایت میخونید/مینویسید )
البته معمولا روش 1 بهتره!اللَّهُمَّ صَلِّ عَلَى مُحَمَّدٍ وآلِ مُحَمَّدٍ وعَجِّلْ فَرَجَهُمْ
اگه دوس دارید سریع به جواب برسید :
1) قبل از پرسیدن سوال، بسرچید.
2) سوالاتون رو با جزئیات کامل مطرح کنید.
-
پاسخ : نوشتن و خواندن متغیر هایی از نوع int . float در eeprom خارجی با avr
می دونم که تک بایت تک بایت باید بنویسم و بخونم
مشکل من اینه که نمی دونم چطور 2 بایت یا بیشتر رو بنویسم یا بخونم
مثلا
[CPP]
[FONT=Yekan]
void I2C_write_1Byte(unsigned char ADDRESS,unsigned char Bite_Nomber,unsigned char valiu)[/FONT]{
I2C_Start();
I2C_write(ADDRESS);
I2C_write(Bite_Nomber);
I2C_write(Bite_Nomber);
I2C_write(valiu);
I2C_Stop();
_delay_ms(8);
[FONT=Yekan]}
[/FONT]
این تابع رو خودم نوشتم کار میکنه ولی برای بیشتر از یک بایت بلد نیستمجدیدترین ویرایش توسط mfazl22; ۰۹:۲۳ ۱۳۹۷/۱۱/۲۱.گاهی نمی شود که نمی شود
گاهی قرعه نگفته به نام تو می شود
گاهی گدای گدایی و چاره چیست
گاهی تمام شهر گدای تو میشود
ای بنده بدان در این عالم ___هرچه خدا خواست همان می شور
دیدگاه
-
پاسخ : نوشتن و خواندن متغیر هایی از نوع int . float در eeprom خارجی با avr
در مورد این دو موضوع مطالعه کنید
* اشاره گرها: اشاره گر به یک متغیر در واقع آدرس کم ارزشترین بایت متغیر رو برمیگردونه
* typecast : اینکه به کامپایلر بگید یک آدرس از نوع متغیر پند بایتی رو بصورت یک اشاره گر به یک متغیر یک بایتی مورد استفاده قرار بده
دیدگاه
-
پاسخ : نوشتن و خواندن متغیر هایی از نوع int . float در eeprom خارجی با avr
چندتا راه پیشنهاد میدم :
1-از کتابخونه های آماده استفاده کنید.
2-بیرید دیتاشیت آیسی مد نظرو کامل مطالعه کنید
3-برید دیتاشیت i2c رو کامل مطالعه کنید.
4-همون کد نوشتن تک بایت رو یه تابع کنید ( اگه تست کردید و جواب داده ) - و از تابع فوق 2 بار استفاده کنید ( مثلا برا int )اللَّهُمَّ صَلِّ عَلَى مُحَمَّدٍ وآلِ مُحَمَّدٍ وعَجِّلْ فَرَجَهُمْ
اگه دوس دارید سریع به جواب برسید :
1) قبل از پرسیدن سوال، بسرچید.
2) سوالاتون رو با جزئیات کامل مطرح کنید.
دیدگاه
-
پاسخ : نوشتن و خواندن متغیر هایی از نوع int . float در eeprom خارجی با avr
نوشته اصلی توسط md3848 نمایش پست هاچندتا راه پیشنهاد میدم :
1-از کتابخونه های آماده استفاده کنید.
2-بیرید دیتاشیت آیسی مد نظرو کامل مطالعه کنید
3-برید دیتاشیت i2c رو کامل مطالعه کنید.
4-همون کد نوشتن تک بایت رو یه تابع کنید ( اگه تست کردید و جواب داده ) - و از تابع فوق 2 بار استفاده کنید ( مثلا برا int )جدیدترین ویرایش توسط mfazl22; ۱۹:۵۱ ۱۳۹۷/۱۱/۲۲.گاهی نمی شود که نمی شود
گاهی قرعه نگفته به نام تو می شود
گاهی گدای گدایی و چاره چیست
گاهی تمام شهر گدای تو میشود
ای بنده بدان در این عالم ___هرچه خدا خواست همان می شور
دیدگاه
-
پاسخ : نوشتن و خواندن متغیر هایی از نوع int . float در eeprom خارجی با avr
فک کنم مشکل شما از کلاک میکرو باشه - ببین تو کدویژن و فیوز بیت ها فرکانس رو چند تنظیم کریید - بنظرم این دو با همدیگه یکسان نیستند و لذا اون تاخیرر 10 میلی ثانیه رخ نمیده ( کمتر رخ میده )
درضمن تابعی که من استفاده کردم - طبق دیتاشیت اول آدرس دستگاه بعد آدرس 2 بایتی موقعیت ذخیره/خونده شدن دیتا و بعد دیتا میره - اما تو کدی که شما نوشتید در پست اولتون همچین چزی مشاهده نمیشه - من همین آیسی رو برا آرم هم کتابخونشو نوشتم و براحتی متغییر هایی از نوع STRING - INT - FLOAT خوندم و نوشتم - مشکلی هم نبود - که میتونید توابع اینا رو بررسی کنید و ببینید چطوری نوشتم ( eeprom خارجی با lpc1768 -- لینک آخر مطلب رو دانلود کن )اللَّهُمَّ صَلِّ عَلَى مُحَمَّدٍ وآلِ مُحَمَّدٍ وعَجِّلْ فَرَجَهُمْ
اگه دوس دارید سریع به جواب برسید :
1) قبل از پرسیدن سوال، بسرچید.
2) سوالاتون رو با جزئیات کامل مطرح کنید.
دیدگاه
دیدگاه