امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 5
  • 1
  • 2
  • 3
  • 4
  • 5
TWI(I2C) in AT91Sam7S
نویسنده پیام
hmg آفلاین
تازه وارد

ارسال‌ها: 8
موضوع‌ها: 1
تاریخ عضویت: شهریور ۱۳۸۸

تشکرها : 9
( 3 تشکر در 3 ارسال )
ارسال: #12
RE: TWI(I2C) in AT91Sam7S
[quote='salehjg' pid='136628' dateline='1285687534']
نقل قول: تا چند روز دیگه هدر راه اندازی باس twi به صورت نرم افزاری رو هم می زارم.
(شبیه سازی کردن با استفاده از پین ها)
سلام مهندس صالح
برای راه اندازی نرم افزاری باس twi منتظر هدر شما هستیمShy

۱۶-مهر-۱۳۸۹, ۰۰:۲۰:۰۷
ارسال‌ها
پاسخ
hmg آفلاین
تازه وارد

ارسال‌ها: 8
موضوع‌ها: 1
تاریخ عضویت: شهریور ۱۳۸۸

تشکرها : 9
( 3 تشکر در 3 ارسال )
ارسال: #13
RE: TWI(I2C) in AT91Sam7S
سلام میخواستم بپرسم بالاخره چیکار کردید با راه اندازی این سنسور تصویر
من که فکر میکنم مشکل از هدر twi باشه اخه منم در راه اندازی آی سی ساعت ds1307 نتونستم از این هدر استفاده کنم و ساعت راه اندازی میشد ولی فقط دقیقه رو میتونستم set کنم و ساعت و ثانیه از صفر شروع میشد در واقع آدرس اسلیو ds1307 درست فرستاده میشد ولی فقط خونه حافظه 1 که مربوط به دقیقه است قابل نوشتن بود و خونه های 0 و 2 مربوط به ثانیه و ساعت قابل دسترس نبودند ضمنا سخت افزار مربوطه مشکلی نداشت چون همون سخت افزار مدار ds1307 رو با AVR راه اندازی کردم و مشکلی نداشت و همچنین با همین هدر twi حافظه سریال 24c256 رو با sam7x256 راه اندازی کردم و تمام خانه های حافظه قابل خوندن و نوشتن بودند.
(آخرین ویرایش در این ارسال: ۰۲-دى-۱۳۸۹, ۲۲:۱۷:۰۴، توسط hmg.)
۰۲-دى-۱۳۸۹, ۲۲:۱۲:۱۲
ارسال‌ها
پاسخ
تشکر شده توسط : salehjg
salehjg آفلاین
مدیر بخش
*****

ارسال‌ها: 1,281
موضوع‌ها: 133
تاریخ عضویت: آذر ۱۳۸۸

تشکرها : 9560
( 8557 تشکر در 2603 ارسال )
ارسال: #14
RE: TWI(I2C) in AT91Sam7S
نقل قول: سلام میخواستم بپرسم بالاخره چیکار کردید با راه اندازی این سنسور تصویر
هنوز که هنوزه دارم باهاش ور میرم!!!
چند روز قبل تونستم sccb شو راه بندازم.
اما از twi(سخت افزاری) استفاده نکردم.
از i2c(نرم افزاری) شبیه سازی شده استفاده کردم.
وقتی که همه چیز درست و کامل شدند، یه پست مفصل دربارش میزنم.
نقل قول: من که فکر میکنم مشکل از هدر twi باشه اخه منم در راه اندازی آی سی ساعت ds1307 نتونستم از این هدر استفاده کنم و ساعت راه اندازی میشد ولی فقط دقیقه رو میتونستم set کنم و ساعت و ثانیه از صفر شروع میشد در واقع آدرس اسلیو ds1307 درست فرستاده میشد ولی فقط خونه حافظه 1 که مربوط به دقیقه است قابل نوشتن بود و خونه های 0 و 2 مربوط به ثانیه و ساعت قابل دسترس نبودند ضمنا سخت افزار مربوطه مشکلی نداشت چون همون سخت افزار مدار ds1307 رو با AVR راه اندازی کردم و مشکلی نداشت و همچنین با همین هدر twi حافظه سریال 24c256 رو با sam7x256 راه اندازی کردم و تمام خانه های حافظه قابل خوندن و نوشتن بودند.
احتمال میدم که قسمت تعیین مقسّم های کلاک مشکل دارن.(همون رجیستر CWGR) چون اصلا نفهمیدم چطوری اونارو تعیین می کنه واسه همین مستقیما از مثال های atmel کپی زدم!!!! اگر کسی میدونه حتما در این تاپیک مطرح کنه(نحوه ی محاسبه و ...)

۰۳-دى-۱۳۸۹, ۰۲:۰۳:۳۱
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : hmg, electron113
hmg آفلاین
تازه وارد

ارسال‌ها: 8
موضوع‌ها: 1
تاریخ عضویت: شهریور ۱۳۸۸

تشکرها : 9
( 3 تشکر در 3 ارسال )
ارسال: #15
RE: TWI(I2C) in AT91Sam7S
(۰۲-دى-۱۳۸۹, ۲۲:۱۲:۱۲)hmg نوشته است: مشکل از هدر twi باشه اخه منم در راه اندازی آی سی ساعت ds1307 نتونستم از این هدر استفاده کنم و ساعت راه اندازی میشد ولی فقط دقیقه رو میتونستم set کنم و ساعت و ثانیه از صفر شروع میشد در واقع آدرس اسلیو ds1307 درست فرستاده میشد ولی فقط خونه حافظه 1 که مربوط به دقیقه است قابل نوشتن بود و خونه های 0 و 2 مربوط به ثانیه و ساعت قابل دسترس نبودند
سلام
در هدر twi.h تابع AT91F_TWI_WriteSingleIadr چرا IntAddrSize تعریف نشده؟ در واقع به طور پیش فرض تمام آدرس ها رو دو بایتی در نظر میگیره و من فکر میکنم به همین خاطر است که خونه های حافظه در ds1307 و ایسی های دیگه مثلا سنسورها که آدرس اونها یک بایتی است نمیتونه در دسترس قرار بگیره. کسی میدونه چطور میتوان سایز آدرس داخلی رو یک بایتی تعریف کنیم
۱۷-دى-۱۳۸۹, ۱۰:۲۵:۲۱
ارسال‌ها
پاسخ
تشکر شده توسط : salehjg
salehjg آفلاین
مدیر بخش
*****

ارسال‌ها: 1,281
موضوع‌ها: 133
تاریخ عضویت: آذر ۱۳۸۸

تشکرها : 9560
( 8557 تشکر در 2603 ارسال )
ارسال: #16
RE: TWI(I2C) in AT91Sam7S
(۱۷-دى-۱۳۸۹, ۱۰:۲۵:۲۱)hmg نوشته است: سلام
در هدر twi.h تابع AT91F_TWI_WriteSingleIadr چرا IntAddrSize تعریف نشده؟ در واقع به طور پیش فرض تمام آدرس ها رو دو بایتی در نظر میگیره و من فکر میکنم به همین خاطر است که خونه های حافظه در ds1307 و ایسی های دیگه مثلا سنسورها که آدرس اونها یک بایتی است نمیتونه در دسترس قرار بگیره. کسی میدونه چطور میتوان سایز آدرس داخلی رو یک بایتی تعریف کنیم

کد:
pTwi->TWI_MMR = (SlaveAddr <<16)| (2 <<8) | ...;
شما می تونید در صورت نیاز بجای 2 ، عدد 1 یا 0 یا 3 رو جایگزین کنید.

0: آدرس داخلی غیرفعال
1: سایز آدرس داخلی برابر 1 بایت
2: سایز برابر 2 بایت
3: سایز برابر 3 بایت

راستش این مورد یادم نبود که درستش کنم چون من روی اییپرام کار می کردم
ممنونم که این مورد را مطرح کردید. BiggrinHappy
(آخرین ویرایش در این ارسال: ۱۸-دى-۱۳۸۹, ۱۵:۲۹:۴۸، توسط salehjg.)
۱۸-دى-۱۳۸۹, ۱۵:۲۸:۵۸
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : رسول, hmg, electron113
hmg آفلاین
تازه وارد

ارسال‌ها: 8
موضوع‌ها: 1
تاریخ عضویت: شهریور ۱۳۸۸

تشکرها : 9
( 3 تشکر در 3 ارسال )
ارسال: #17
RE: TWI(I2C) in AT91Sam7S
با تشکر از شما
مشکل من با یک بایتی فرستادن آدرس داخلی حل شد.Clap
۱۸-دى-۱۳۸۹, ۲۲:۲۱:۰۴
ارسال‌ها
پاسخ
mobin2280 آفلاین
تازه وارد

ارسال‌ها: 4
موضوع‌ها: 0
تاریخ عضویت: اسفند ۱۳۸۸

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #18
RE: TWI(I2C) in AT91Sam7S
سلام
خسته نباشید
تا اینجا خیلی چیزها برام روشن شد.من تونستم راش بندازم ولی وقتی چندتا داده می فرستم فقط مورد آخر ذخیره می شه و قابل بازخوانی هست.
ممنون می شم کمک بکنید.
۲۵-مرداد-۱۳۹۰, ۱۲:۲۶:۱۱
ارسال‌ها
پاسخ
salehjg آفلاین
مدیر بخش
*****

ارسال‌ها: 1,281
موضوع‌ها: 133
تاریخ عضویت: آذر ۱۳۸۸

تشکرها : 9560
( 8557 تشکر در 2603 ارسال )
ارسال: #19
RE: TWI(I2C) in AT91Sam7S
(۲۵-مرداد-۱۳۹۰, ۱۲:۲۶:۱۱)mobin2280 نوشته است: سلام
خسته نباشید
تا اینجا خیلی چیزها برام روشن شد.من تونستم راش بندازم ولی وقتی چندتا داده می فرستم فقط مورد آخر ذخیره می شه و قابل بازخوانی هست.
ممنون می شم کمک بکنید.

سلام میشه بیشتر توصیح بدید؟
۲۶-مرداد-۱۳۹۰, ۰۰:۲۳:۳۲
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : electron113
mobin2280 آفلاین
تازه وارد

ارسال‌ها: 4
موضوع‌ها: 0
تاریخ عضویت: اسفند ۱۳۸۸

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #20
RE: TWI(I2C) in AT91Sam7S
ببخشید اینترنتم قطع شده بود.
به طور مثال ابتدا مقدار a رو ذخیره می کنم بعد مقدار b ولی وقتی می خونم فقط مقدار b رو بر می گردونه . فرقی نمی کنه که آدرس مقدار a رو بدم یا b.
در ضمن من at24c02 کار می کنم. اگه امکان داره یه نمونه کد بزارید.
در ضمن می خواستم بدونم شما تونستید ds1307 رو راه بندازید یا نه اگه تونستید یه نمونه کد هم از ds1307 بزارید.
ممنون
ببخشید اینترنتم قطع شده بود.
به طور مثال ابتدا مقدار a رو ذخیره می کنم بعد مقدار b ولی وقتی می خونم فقط مقدار b رو بر می گردونه . فرقی نمی کنه که آدرس مقدار a رو بدم یا b.
در ضمن من at24c02 کار می کنم. اگه امکان داره یه نمونه کد بزارید.
در ضمن می خواستم بدونم شما تونستید ds1307 رو راه بندازید یا نه اگه تونستید یه نمونه کد هم از ds1307 بزارید.
ممنون
(آخرین ویرایش در این ارسال: ۰۴-شهریور-۱۳۹۰, ۰۱:۰۶:۵۷، توسط mobin2280.)
۰۴-شهریور-۱۳۹۰, ۰۱:۰۵:۳۵
ارسال‌ها
پاسخ
salehjg آفلاین
مدیر بخش
*****

ارسال‌ها: 1,281
موضوع‌ها: 133
تاریخ عضویت: آذر ۱۳۸۸

تشکرها : 9560
( 8557 تشکر در 2603 ارسال )
ارسال: #21
RE: TWI(I2C) in AT91Sam7S
(۰۴-شهریور-۱۳۹۰, ۰۱:۰۵:۳۵)mobin2280 نوشته است: ببخشید اینترنتم قطع شده بود.
به طور مثال ابتدا مقدار a رو ذخیره می کنم بعد مقدار b ولی وقتی می خونم فقط مقدار b رو بر می گردونه . فرقی نمی کنه که آدرس مقدار a رو بدم یا b.
در ضمن من at24c02 کار می کنم. اگه امکان داره یه نمونه کد بزارید.
در ضمن می خواستم بدونم شما تونستید ds1307 رو راه بندازید یا نه اگه تونستید یه نمونه کد هم از ds1307 بزارید.

سلام
فکر کنم شما متغیر ها رو در آدرس داخلی یکسانی ذخیره می کنید و آخرین متغیر روی متغیر های قبلی نوشته میشه و هنگامیکه همان آدرس رو می خوانید ،برگردانده می شود.

باید متغیر ها رو در آدرس های متفاوتی بنویسید.
البته به سایز متغیر هم توجه کنید تا آدرس بندی ها روی هم نیفتند .

موفق باشید
۰۴-شهریور-۱۳۹۰, ۱۲:۰۶:۱۹
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : electron113
mobin2280 آفلاین
تازه وارد

ارسال‌ها: 4
موضوع‌ها: 0
تاریخ عضویت: اسفند ۱۳۸۸

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #22
RE: TWI(I2C) in AT91Sam7S
کدی که من امتحان کردم این بود.
AT91F_TWI_Open(100000);
delay_ms(500);
AT91F_AT24C_WriteByte (80,s,1);

s2=AT91F_AT24C_ReadByte (80,1);
۰۵-شهریور-۱۳۹۰, ۱۲:۲۱:۰۱
ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  رجیستر های AT91SAM7s salehjg 5 4,780 ۲۴-شهریور-۱۳۸۹, ۱۳:۰۸:۴۰
آخرین ارسال: 10845

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 3 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS