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

موضوع: مشکل با پورت سریال

  1. #1
    مدیر باز نشسته ROBOMAN آواتار ها
    تاریخ عضویت
    Jul 2007
    نام
    ايران
    نوشته ها
    186
    تشکر
    243
    تشکر شده 206 بار در 74 پست

    Exclamation مشکل با پورت سریال

    سلام

    من از یه میکرو به میکروی دیگه رطوبت رو ارسال میکنم با دستور
    Print " > RH: " ; H ;
    به یه میکروی دیگه دیتا میفرستم و با دستور
    Input Data_rec
    دیتا رو میگیرم و روی نمایشگر نشون میدم حالا اگه ارتباط قطع بشه همون عدد قبلی رو نمایشگر میمونه و من میخام بنویسم disconnect
    و از If Ischarwaiting(#3) = 1 Then استفاده کردم ولی نبود دیتا روی خط سریال رو متوجه نمیشه

    حالا منظور کلیم فهمیدن وجود اطلاعات در پورت سریال


    ممنوون میشم با مثال بهم راهنمایی گنین

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

  3. #2
    کاربر علاقه مند
    تاریخ عضویت
    Feb 2011
    نوشته ها
    43
    تشکر
    24
    تشکر شده 17 بار در 16 پست

    پیش فرض

    پورت سریال سخت افزاریه یا به صورت نرم افزاری تعریف کردید؟
    چون اگه نرم افزاری باشه بافر هم نداره و این دستور جواب نمیده
    ولی تو پورت سخت افزاری باید کار بکنه
    مگه مشکل دیگه ای باشه!
    ویرایش توسط mj.vb.net : 03-08-2015 در ساعت 03:26

  4. #3
    مدیر باز نشسته ROBOMAN آواتار ها
    تاریخ عضویت
    Jul 2007
    نام
    ايران
    نوشته ها
    186
    تشکر
    243
    تشکر شده 206 بار در 74 پست

    پیش فرض

    سلام
    سخت افزاری از mega2560 استقاده کردم من بین دو میکرو ارتباط سریال برقرار کردم یکی master و یکی client میخام هر موقع کلاینت قطع شد مستر بنویسه disconn این کار با دستور ischarwaitingفقط برای اولین بار انجام میشه وقتی یه بار وصل شد و قظع شد دیگه ج نمیده
    یه سوال دیگه
    من 7 تا کلاینت دارم که با ید دما و رطوبت رو به یک میکرو که مستره بفرستن و اونجا پردازش و روی ال سی دی گرافیکی نشون بدم
    1- رشته ارسالی چطور باشه که تداخل نداشته باشه؟
    2- دستورات دریافت و ارسال در دو طرف چی باشن؟
    ممنوون از بچه ها که کمک میکنن

  5. #4
    کاربر علاقه مند Shapour_Ardebil آواتار ها
    تاریخ عضویت
    Jun 2007
    نام
    ٍShapour
    نوشته ها
    98
    تشکر
    49
    تشکر شده 104 بار در 49 پست

    پیش فرض

    با سلام

    میتوانید یک تایمر با سرریز بزرگتر از حداکثر زمان دریافت اطلاعات سریال تعریف بکنید
    در تابع دریافت اطلاعات با دریافت اطلاعات سریال مقدار تایمر را صفر کنید
    اگر اطلاعات سریال جدیدی تا سرریز تایمر دریافت نکردید ضمن توقف ادامه فعالیت تایمر , در تابع سر ریز اطلاعات سون سگمنت را به هر چه که دوست دارید تبدیل بکنید

  6. #5
    مدیر باز نشسته ROBOMAN آواتار ها
    تاریخ عضویت
    Jul 2007
    نام
    ايران
    نوشته ها
    186
    تشکر
    243
    تشکر شده 206 بار در 74 پست

    پیش فرض

    سلام
    ممنوون یه مثال میزنید؟

  7. #6
    کاربر علاقه مند Shapour_Ardebil آواتار ها
    تاریخ عضویت
    Jun 2007
    نام
    ٍShapour
    نوشته ها
    98
    تشکر
    49
    تشکر شده 104 بار در 49 پست

    پیش فرض

    با سلام

    مثلا قرار است در هر 0.8 ثانیه مقداری اطلاعات از طریق ارتباط سریال توسط میکرو X به میکرو Y ارسال شود
    پس:

    1- ما تایمر T را طوری پیکر بندی میکنیم که با گذشت 1 ثانیه وارد تابع اینتراپت سرریز این تایمر بشود
    2 - با دریافت اولین داده از ماژول سریال , تایمر T را Enable می کنیم
    3 - با دریافت داده سریال (در هر 0.8 ثانیه) علاوه بر خواندن داده سریال , مقدار شمارنده تایمر را صفر می کنیم
    ( چون داده حداکثردر 0.8 ثانیه دریافت میشود تا وقتیکه داده ارسال شود مقدار تایمر سرریز نمی شود)
    4 - در صورت عدم ارسال داده جدید ( در حداکثر یک ثانیه ) تایمر T سرریز میشود
    4.1 - در اینجا ما اول تایمرT را Disable میکنیم
    4.2 - حالا هرچه که میخواهیم در سون سگمنت مینویسیم


    به همین راحتی

    موفق باشید

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


  9. #7
    مدیر باز نشسته ROBOMAN آواتار ها
    تاریخ عضویت
    Jul 2007
    نام
    ايران
    نوشته ها
    186
    تشکر
    243
    تشکر شده 206 بار در 74 پست

    پیش فرض

    سلام
    ممنوون
    میشه با یه مثال عملی تو بسکام بدی؟؟
    متشکرم

  10. #8
    مدیر باز نشسته ROBOMAN آواتار ها
    تاریخ عضویت
    Jul 2007
    نام
    ايران
    نوشته ها
    186
    تشکر
    243
    تشکر شده 206 بار در 74 پست

    پیش فرض

    سلام

    hekp help help

  11. #9
    کاربر علاقه مند
    تاریخ عضویت
    May 2011
    نام
    احسان باقری
    نوشته ها
    61
    تشکر
    47
    تشکر شده 35 بار در 29 پست

    پیش فرض

    سلام یه راه ساده اینه که اولا ازتباط رو با rs485 برقرار کنی که با دو سیم و یه پورت سریال تا 32 تا دیوایس یا حداکثر 255 تا دیوایس رو ساپورت میکنه و رویه برد کلاینت هم دیپ سوییچ هشایی بزاری که با تنظیم اون به هر برد یه آدرس داده باشی و موقع دریافت دیتا با آدرس چک بشه مستر تو بازه هایه مشخص زمانی دستور ازسال دیتا به کلاینت ها رو بده و در صورت عدم دریافت دیتا میتونی تشخص بدی که کدوم کلاینت در مدار نیست و به راحتی کلاینت ها رو به هر تعداد که بخوای میتونی کم و زیاد کنی
    ویرایش توسط ehsanbagheri : 09-08-2015 در ساعت 15:48

  12. #10
    مدیر باز نشسته ROBOMAN آواتار ها
    تاریخ عضویت
    Jul 2007
    نام
    ايران
    نوشته ها
    186
    تشکر
    243
    تشکر شده 206 بار در 74 پست

    پیش فرض

    سلام
    من پروژم 90 درصد انجام شده فقط این قسمت منو اذیت کرده

  13. #11
    کاربر فعال
    تاریخ عضویت
    Feb 2012
    نام
    مصطفی
    نوشته ها
    273
    تشکر
    195
    تشکر شده 128 بار در 93 پست

    پیش فرض

    سلام
    اگه نمیخوای 485 استفاده کنی میتونی یه مولتی پلکسر بذاری.

  14. #12
    مدیر باز نشسته ROBOMAN آواتار ها
    تاریخ عضویت
    Jul 2007
    نام
    ايران
    نوشته ها
    186
    تشکر
    243
    تشکر شده 206 بار در 74 پست

    پیش فرض

    سلام

    فقط میتونم چند خط کد بزارم هیچ راه دیگه ای ندارم

  15. #13
    کاربر فعال
    تاریخ عضویت
    Feb 2012
    نام
    مصطفی
    نوشته ها
    273
    تشکر
    195
    تشکر شده 128 بار در 93 پست

    پیش فرض

    شما باید برای هر کدوم از کلاینت ها یه آدرس در نظر بگیری و توسط مستر یه درخواست به کلاینت مورد نظر بفرستی و منتظر جواب اون بمونی. بعد هر کدوم از کلاینت ها که درخواست مربوط به اون بود باید جواب رو بفرسته. اینجوری دیگه تداخلی تو ارسال داده ها پیش نمیاد.
    ولی ممکنه از نظر سخت افزاری به مشکل بخوری چون باید Tx همه کلاینت ها رو به هم وصل کرده باشی.

  16. #14
    کاربر علاقه مند
    تاریخ عضویت
    May 2011
    نام
    احسان باقری
    نوشته ها
    61
    تشکر
    47
    تشکر شده 35 بار در 29 پست

    پیش فرض

    شما چطور هشتا دیوایس رو با usart وصل کردی به میکرو مگه هشتا رابط سریال داره؟

  17. #15
    مدیر باز نشسته ROBOMAN آواتار ها
    تاریخ عضویت
    Jul 2007
    نام
    ايران
    نوشته ها
    186
    تشکر
    243
    تشکر شده 206 بار در 74 پست

    پیش فرض

    سلام
    من هنوز این کارو نکردم فعلا یه فرستنده دارم و یه گیرنده دارم روش کار میکنم اما تو این قسمت هنوز ج دلخواه نگرفتم

  18. #16
    کاربر علاقه مند
    تاریخ عضویت
    May 2011
    نام
    احسان باقری
    نوشته ها
    61
    تشکر
    47
    تشکر شده 35 بار در 29 پست

    پیش فرض

    برایه این کار ساده ترین راه و مطمین ترین راه همون rs485 هست و با rs232 فقط میشه دوتا میکرو رو به هم متصل کرد وبرایه ارتباط یا فاصله 15 متر بیشتر ممکنه جواب نده و این فاصله رو هم در شرایط بدون نویز میتونه جواب بده

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

  1. پاسخ: 9
    آخرين نوشته: 17-08-2016, 18:43
  2. پاسخ: 3
    آخرين نوشته: 05-10-2013, 09:28
  3. ارسال همزمان(سنگرون)در avr با پورت RS-232
    توسط haddadi_mahdi در انجمن AVR
    پاسخ: 1
    آخرين نوشته: 07-08-2013, 17:44
  4. مشکل با پورت سریال
    توسط mr.dion در انجمن AVR
    پاسخ: 1
    آخرين نوشته: 29-08-2012, 16:48
  5. پورت سریال
    توسط safavism در انجمن AVR
    پاسخ: 7
    آخرين نوشته: 22-08-2011, 15:33

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

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