این که کاری نداره دو سه میکرو رو به صورت زیر وصل کن:
بعد به میکرویی که سنسور 1 وصله میگی که یک کد را مثلا (sensor1) ارسال کنه و بعد به میکرو اصل کاری میگی در صورت دریافت (sensor1) کد (ok1) را بفرسته و بعد در صورتی که میکروی mega8 اولی کد (ok1) را در یافت کرد دما را به میکروی اصل کاری بده!
بعد برای میکرویی که سنسور 2 وصله همین کار ها رو میکنی ولی باید بجای (sensor1) (ok1) این ها رو قرار بدی (sensor2) (ok2) و زمان هارو بزاری یک ثانیه سنسور 1 و یک ثانیه هم سنسور 2 این کد ها رو بدند.
نه من منظورم این نبود ، من اینجوری این کار رو انجام دادم
البته برام جالب بود ببینم مدل شما کار میکنه یا نه بازم میگم من این جوری پیاده سازی کردم
و نتیجه هم گرفتم این همه همه فایل ها
http://s5.picofile.com/file/8146876650/source_code.rar.html
سورس رو نگاه کنید با شماتیک توی پروتئوس مشکلی بود جواب میدم فقط نگاه کنید توی عمل هم باید MAX232 گذاشت .
چندان کار جالبی نیستا این :-\
دوتا Tx رو به هم وصل کردین و این به میکرو صدمه میزنه!
نه من منظورم این نبود ، من اینجوری این کار رو انجام دادم
البته برام جالب بود ببینم مدل شما کار میکنه یا نه بازم میگم من این جوری پیاده سازی کردم
و نتیجه هم گرفتم این همه همه فایل ها http://s5.picofile.com/file/81468766..._code.rar.html
سورس رو نگاه کنید با شماتیک توی پروتئوس مشکلی بود جواب میدم فقط نگاه کنید توی عمل هم باید MAX232 گذاشت .
معجزه پس از معجزه می آید و شگفتی ها از تجلی باز نمی مانند.
با سلام.
من در پروژه ای درگیر این کار بودم و تونستم با rs485 این مشکل رو حل کنم.
من یه دستگاه اصلی داشتم (فرستنده)که روش mega 32 بود و 32 تا دستگاه دیگه (گیرنده)که mega8 داشتن. من به هر کدوم از گیرنده ها توسط یک دیپ سوییچ یک کد منحصر به فرد اختصاص دادم و هر موقع که فرستنده(مگا32) یک کدی رو روی خطrs485 میذاشت تمام گیرنده ها اون کد رو میگرفتن و متوجه میشدن که باید اطلاعات رو بفرستن. نحوه فرستادن اطلاعات گیرنده ها هم به این صورت بود که کد منحصر به فردشون رو در عدد ثابتی ضرب میکردن و اون عدد میشد مقدار زمانی که باید صبر کنن و اطلاعات رو برای فرستنده بفرستن . به این صورت هیچ تداخلی در اطلاعات در فرستنده (مگا32) پیش نمیومد.
میتونید برایه این که خیالتون راحت باشه دیتا از بین نمیره از متد هایه متداول مثل MODBUS RTU استفاده کنید که یکم پیچیده هست ولی میتونی رویه هر برد چنتا دیپ سوییچ برایه آدرس دهی بذارید یا این که موقع پروگرم یه کد رو تویه EEPROM ذخیره کنید بعد از طرف میکرو مستر با یه متد خاص دیتا رو بفرستید به برد هایه SLAVE هر SLAVE دیتا رو میگیره اگر آدرس با آدرس خودش مطابقت داشت بعد از یه زمان چند میلی ثانیه دیتا رو رویه خط ارسال میکنه و اگر مطابقت نداشت منتظر میمونه زیاد هم سخت نیست
دیدگاه