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

موضوع: مشکل در راه اندازی اترنت در برنامه rtx

  1. #1
    کاربر علاقه مند
    تاریخ عضویت
    Mar 2014
    نوشته ها
    27
    تشکر
    0
    تشکر شده 17 بار در 8 پست

    پیش فرض مشکل در راه اندازی اترنت در برنامه rtx

    سلام دوستان.
    یک برنامه دارم که چندین تسک داره کار می کنه و تحت RTX هستش.
    جایی در برنامه می خوام داده ارسال و دریافت بشه تحت شبکه اترنت. از مثال ارسال داده از برد به PC آموزشی استفاده کردم و تکه کد های اون رو در برنامه ام بکار بردم. برنامه بدون خطا کامپایل میشه، اما وقتی میریزیم روی برد اصلا اتصالی برقرار نمیشه. نکنه این روش با کار کردن با تسک ها مشکل داره؟ چون دیدم از فایل کتابخونه RTL.h استفاده می کنه و احتمال داره تسک ها و کد های اترنت روی هم اثر می زارن. اگه ممکنه جهت رفع مشکل راهنمایی نمایید.

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

  3. #2
    مدیر انجمن mzarkoob آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    مهدی زرکوب
    نوشته ها
    2,902
    تشکر
    1,202
    تشکر شده 2,317 بار در 1,273 پست

    پیش فرض

    سلام
    خیر مشکلی با هم ندارند و اترنت تحت trx هم کار می کند.
    از چه پروتکلی می خواهید برای تبادل استفاده کید؟
    به عنوان نمونه اگر بخواهید از tcp استفاده کنید بهتر است ابتدا در یک پروژه جدا فقط tcp را تحت rtx انجام دهید و اگر شد سایر تسک ها را هم اضافه کنید.

  4. #3
    کاربر علاقه مند
    تاریخ عضویت
    Mar 2014
    نوشته ها
    27
    تشکر
    0
    تشکر شده 17 بار در 8 پست

    پیش فرض

    نقل قول نوشته اصلی توسط mzarkoob نمایش پست ها
    سلام
    خیر مشکلی با هم ندارند و اترنت تحت trx هم کار می کند.
    از چه پروتکلی می خواهید برای تبادل استفاده کید؟
    به عنوان نمونه اگر بخواهید از tcp استفاده کنید بهتر است ابتدا در یک پروژه جدا فقط tcp را تحت rtx انجام دهید و اگر شد سایر تسک ها را هم اضافه کنید.
    برنامه دارای هشت تسک هست. دستورات Init مربوط به Tcp در تسک Init قرار داده شده و تابع Systick هم اضافه شده. سپس در یکی از تسک های اصلی که قراره تبادل داده داشته باشه دستور ارسال قرار داده شده. هنگامی که برنامه دانلود میشه، برد وارد تسک ها نمیشه ولی وقتی تابع Systick رو حذف می کنم و برنامه رو دانلود می کنم، برد وارد تسک ها میشه و مشکلی نداره. ولی در عوض دیگه Tcp پینگ نمیده!!!
    در ضمن یک سوال دیگه اگه بخوام یک ویجکت TEXT در یک پنجره ای لحظه به لحظه آپدیت بشه باید چه کار کنم. چون فقط لحظه کلیک روی ویندوز مقدار جدید رو نشون میده؟؟؟

  5. #4
    کاربر علاقه مند
    تاریخ عضویت
    Mar 2014
    نوشته ها
    27
    تشکر
    0
    تشکر شده 17 بار در 8 پست

    پیش فرض

    آقای مهندس زرکوب، دلیل استفاده تابع Systick در برنامه Tcp در مثال تان در مجموعه آموزشی پیشرفته چیه؟
    بدون این تابعو تنها با استفاده ار توابع اصلی Tcp نمی توان تبادل داشت؟؟؟

  6. #5

  7. #6
    کاربر علاقه مند
    تاریخ عضویت
    Mar 2014
    نوشته ها
    27
    تشکر
    0
    تشکر شده 17 بار در 8 پست

    پیش فرض

    نقل قول نوشته اصلی توسط mzarkoob نمایش پست ها
    یک بار تست کنید ببنید بدون آن کار می کند یا نه آن وقت متوجه دلیل می شوید
    لطفا اگر ممکنه راهنمایی جامع تری بدید. الان به مشکل خوردم.
    بله درسته بدون تایع Systick اصلا Ping نمیده.

  8. #7
    مدیر انجمن mzarkoob آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    مهدی زرکوب
    نوشته ها
    2,902
    تشکر
    1,202
    تشکر شده 2,317 بار در 1,273 پست

    پیش فرض

    چون حتما باید تابعی هر 100 میلی ثانیه اجرا بشه
    برای tcp هم باید تنظیمات تسک ها درست انجام دهید. همان طور که گفتم
    بهتر است ابتدا در یک پروژه جدا فقط tcp را تحت rtx انجام دهید و اگر شد سایر تسک ها را هم اضافه کنید.

  9. #8
    کاربر علاقه مند
    تاریخ عضویت
    Mar 2014
    نوشته ها
    27
    تشکر
    0
    تشکر شده 17 بار در 8 پست

    پیش فرض

    نقل قول نوشته اصلی توسط mzarkoob نمایش پست ها
    چون حتما باید تابعی هر 100 میلی ثانیه اجرا بشه
    برای tcp هم باید تنظیمات تسک ها درست انجام دهید. همان طور که گفتم
    بهتر است ابتدا در یک پروژه جدا فقط tcp را تحت rtx انجام دهید و اگر شد سایر تسک ها را هم اضافه کنید.
    این روش رو رفتم. اگه فقط در یک تسک خود TCP رو بکار ببریم مشکلی نیست. ولی وقتی تسک های دیگه اضافه میشه، دیگه برد بالا نمیاد. منظورتون از تنظیمات تسک درست باشه چیه؟ اگه درست نباشه پس باید بدون استفاده از Tcp هم کار نکنه، در حالی که قبلا از استفاده Tcp همه چیز درسته. پس تنظیمات تسک ها مشکل نداره، اگه در نهایت با Tcp مشکل داشته باشه. در ضمن در برنامه از emWIN استفاده شده.
    ویرایش توسط mohsen.sharif : 08-08-2017 در ساعت 04:25

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

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