سلام دوستان
من میخوام اولا برا حل معادله با میکرو رو بهم بیشتر توضیح بدید میدونم که باید از کتابخونه math استفاده کنم . بعد اگه بخوام جواب معادله ای مثل y=x^4+6x+3 رو به دوتا پورت ارسال کنم باید چیکار کنم.ممنونم
سلام دوستان
من میخوام اولا برا حل معادله با میکرو رو بهم بیشتر توضیح بدید میدونم که باید از کتابخونه math استفاده کنم . بعد اگه بخوام جواب معادله ای مثل y=x^4+6x+3 رو به دوتا پورت ارسال کنم باید چیکار کنم.ممنونم
کسی نیست بتونه راهنمایم کنه؟
دوست عزیز منظورتون اینکه مثلا جمع دو عدد 5+6 =11 را بتونیم روی پایه های یه پورت به صورت باینری نشوون بدیم؟؟؟
خوب دوست عزیز شما از پورتها مقدار باینری عدد x رو در متغیر x قرار میدین و بعد معادله رو حل میکنین و در آخر هم مقدار باینری عدد y رو روی یک پورت میریزین. همین. اگه از جمع و تفریق و ضرب و تقسیم و باقیمانده و توان استفاده کنید که هیچ کتابخونه ای هم برای محاسبات نمیخواد ولی در غیر این صورت باید کتابخونه ی math.h هم اینکلود کنین
[PHP]x=PINA;
y=2*x+1;
PORTB=y;[/PHP]
این برنامه از پورت آ میخونه و حل میکنه و در پورت ب قرار میده. البته اعداد 8 بیتی هستن. اگه اعداد بزرگتر باشن باید دستورات اضافه هم داشته باشین
ویرایش توسط esisafa : 09-09-2012 در ساعت 17:07
پروژه های مهم من در ایران میکرو:
" انتقال اطلاعات با SIM900 " ، " آموزش پورت USB " ، " راه اندازی MFRC522 " ، " راه اندازی SLE4442 " ، ""
اقای صفا منش جوابتون را کامل دادندسلام درسته. البته توی اون معادله جواب 11 نیست و به مقدار x بستگی داره که x هم مقدارش از چندتا پورت میگیره.
ولی یادتون باشه جواب یه معادله به این صورت از 255 بیشتر نمی تونه باشه
ویرایش توسط Ma3ood : 09-09-2012 در ساعت 17:55
سلام ممنونم ازتون. راستش منم تعجب کردم وقتی دیدم تو کتاب برای مثال یه x+y از کتاب خونه استفاده کرده بود. و اینه که گیج شدم.
من سوالی که برام ایجاد شده اینه که چطور میتونم جواب معادله ای رو روی دو تا پورت نشون بدم.
فرض کنیم که عدد شما 16 بیتی هست. باید 8 بیت اول رو در یک متغیر کاراکتر و 8 بیت دوم رو در کاراکتر دیگه بریزین و هر کدوم از این متغیر های 8 بیتی رو روی یک پورت قرار داد.
[PHP]a=(char)y
y=y>>8
b=(char)y[/PHP]
فقط الان یادم نمیاد که با تبدیل فرمت بایت با ارزش استفاده میشه یا کم ارزش. ممکنه لازم باشه که از شیفت به چپ استفاده کنین
ویرایش توسط esisafa : 10-09-2012 در ساعت 22:43
پروژه های مهم من در ایران میکرو:
" انتقال اطلاعات با SIM900 " ، " آموزش پورت USB " ، " راه اندازی MFRC522 " ، " راه اندازی SLE4442 " ، ""
من میخوام مدام از نیبل ( چهار پورت) بالایی PORTA برای x مقدار بدم. ممنون میشم راهنمایم کنید.
شما باید مفاهیم and و or و شیفت رو خوب بفهمین و از دستورات & , | , && , || , =& , .... بتونین استفاده کنین. در این صورت دیگه مشکلی نخواهید داشت. اگر هم این مفاهیم رو نفهمین هر چی بگیم باز یه مشکل دیگه پیش میاد
پروژه های مهم من در ایران میکرو:
" انتقال اطلاعات با SIM900 " ، " آموزش پورت USB " ، " راه اندازی MFRC522 " ، " راه اندازی SLE4442 " ، ""
ویرایش توسط mohamad_musav : 12-09-2012 در ساعت 16:05
مثلا میخوای پورت A را بخونی 4 ورودی اول را خوب برای این کار میتونی از دستور زیر استفاده کنی
اینطوری فقط نیبل ابتدایی اثر داده میشه و خونده میشهکد:char in; . . . in=PINA; in=in&0x0f;