۲۳ آبان ۱۳۹۷

درباره نویسنده

زئوس Zeus

زئوس Zeus

زئوس هستم خدای المپزئوس هستم خدای المپ

مطالب مشابه

30 Comments

  1. 13

    فتحی

    مطالب سایتتون مواقعا آموزنده است.

    پاسخ
  2. 12

    محمد م

    سلام
    من با دو تا میکرو stm32f103c8t6 و ماژول مبدل tja1050، که لینک هر دو در ادامه هست، میخوام ارسال و دریافت اطلاعات داشته باشم اما به مشکل خوردم.
    https://shop.aftabrayaneh.com/Tja1050_CAN_BUS_TTL__AFTAB.html?search=tja
    https://shop.aftabrayaneh.com/Stm32f103c8t6_ARM_Board__AFTAB.html?search=stm32f103c8

    نحوه اتصال خیلی ساده هست…tx و rx ماژول های tja به tx و rx میکروها و can h و can L ماژول ها به هم دیگه… ماژول ها رو هم با 5 ولت تغذیه کردم

    برنامه رو با cube و کتابخونه HAL نوشتم که به شکل زیر هست.
    برنامه ی ارسال کننده به این شکل هست.
    uint32_t TX_ID = 0x4840040;
    hcan.pTxMsg->Data[0] = ‘a’;
    hcan.pTxMsg->Data[1] = ‘b’;
    hcan.pTxMsg->Data[2] = ‘c’;

    hcan.pTxMsg->IDE = CAN_ID_EXT;
    hcan.pTxMsg->ExtId = TX_ID;

    hcan.pTxMsg->DLC = 3;

    HAL_CAN_Transmit(&hcan, 1000);
    if(HAL_CAN_Transmit(&hcan, 1000) == HAL_OK)
    HAL_GPIO_TogglePin(GPIOC,GPIO_PIN_13);

    و برنامه دریافت کننده به این شکل:

    CAN_FilterConfTypeDef a;
    a.FilterActivation = DISABLE;
    HAL_CAN_ConfigFilter(&hcan, &a);

    if(HAL_CAN_Receive(&hcan,CAN_FIFO0, 1000) == HAL_OK)
    HAL_GPIO_TogglePin(GPIOC,GPIO_PIN_13);

    با این برنامه ها در اصل باید با هر دریافت و ارسال یک بار led رویبرد تغییر وضعیت بده. اما همیچن اتفاقی نمیوفته. در ضمن مطمئن هستم که خروجی توابع ارسال و دریافت HAL_TIMEOUT هست نه چیز دیگه ای(چون تست کردم). الان چطوری میتونم این مشکل رو حل کنم؟ مشکل از برنامه هست یا سخت افزار؟

    پاسخ
    1. 12.1
      زئوس Zeus

      زئوس Zeus

      سلام دوست عزیز،
      اول باید از صحت آیسی های مبدل اطمینان پیدا کنید ، برای این کار ولتاژ روی پایه 5 رو اندازه گیری کنید ، باید حدود 2.5 ولت باشه ، برای هر دو آیسی این کار رو انجام بدید ، اگر اینطور بود که یعنی مشکلی نداره !
      بعد از اون سراغ اتصالات برید ، اتصال باید به صورت یک به یک باشه ، یعنی RX آیسی مبدل به RX میکرو وصل میشه و TX آیسی مبدل به TX میکروکنترلر وصل میشه
      نکته خیلی مهم که باید بهش توجه داشته باشید به دلیل استفاده از RAM مشترک برای CAN , USB در آیسی های STM32F103 دقت داشته باشید که پریفال USB حتما خاموش شده باشه و روشن نباشه ، خوب نکته مهم بعدی اینه که چون برد بلوپیل قسمت USB رو وصل کرده یعنی مقاومت گذاشته رو خط ها ، سعی کنید از پایه های دیفالت CAN که مشترک با USB هم هست استفاده نکنید. (یعنی پایه های PA11 و PA12) و به جای اون از پایه های ری مپ شده استفاده کنید که آزاد باشند یعنی پایه های PB8 و PB9.
      نکته دیگه ای که باید بهش توجه داشته باشید ، اینه که وقتی فقط یک دستگاه رو باس کن وجود داره ، ارسال به صورت سخت افزاری انجام نمیشه و خطا میده ، پس باید هر دو دستگاه روشن باشن ، برای سهولت کار ، و اطمینان از برنامه ، راهی وجود داره
      و اون این که CAN رو در حالت LoopBack تنظیم کنید (از توی نرم افزار Cubemx امکانش هست گزینه Operating Mode رو ببینید) در این حالت هرچی ارسال کنید به صورت داخلی دایرکت میشه و خودتون دریافتش میکنید و کاری به رابط سخت افزاری نداره اینطوری میتونید از صحت برنامه مطمئن بشید.
      اگر سوالی بود در خدمت هستیم

      پاسخ
      1. 12.1.1

        محمد م

        ممنون
        با این توضیحات و استفاده از مد loopback تونستم حداقل ارسال رو درست کنم. با این شرایط مونده دریافت. فکر میکنم مشکل من بیشتر روی فیلتر هست…حالا باز هم نتیجه گرفتم سعی میکنم اینجا توضیح بدم روش حل مشکل رو.

        پاسخ
        1. 12.1.1.1
          زئوس Zeus

          زئوس Zeus

          بسیار عالی ، با استفاده از همون loopback میتونید فرایند دریافت رو هم اوکی کنید .
          منتظر توضیحاتتون هستیم 🙂

          پاسخ
  3. 11

    محمد

    درباره دریافت اطلاعات توضیحی ندادید. چطوری میشه اطلاعات مربوط به آی دی های مختلف رو دریافت کرد؟؟ یا این که تفاوت مستر و اسلیو در شبکه کن چی هست؟

    پاسخ
    1. 11.1
      زئوس Zeus

      زئوس Zeus

      سعی میکنیم در مقاله ای دیگر به جزییات بیشتر پیردازیم
      تا اونجا که اطلاع دارم ، مستر و اسلیو توی شبکه Can وجود نداره ، هر دستگاهی میتونه هم زمان هم مستر و هم اسلیو باشه

      پاسخ
      1. 11.1.1

        محمد

        آخه فعال کردنش توی کیوب حالت مستر و اسلیو داره…
        امیدوارم زودتر حاظر بشه و استفاده کنیم از آموزشتون

        پاسخ
        1. 11.1.1.1
          زئوس Zeus

          زئوس Zeus

          من الان توی نرم افزار کیوب چک کردم هم برای برای میکروی سری 103 و هم سری 407 ، حالت Slave برای can نداره !
          کیوب من ورژنش 4.15.1 است.
          انشالله

          پاسخ
  4. 10

    احسان

    بسیار عالی بود.

    پاسخ
  5. 9

    جعفر

    مطالبتون به زیبایی نوشته شده. تبریک میگم

    پاسخ
    1. 9.1
      زئوس Zeus
  6. 8
    Sajjad Azadfalah

    سجاد

    سلامم خیلی خیلی عالی بود واقعا ممنون . اگر بخش دومش رو هم قرار بدین خیلی خوب میشه .

    پاسخ
    1. 8.1
      زئوس Zeus

      زئوس Zeus

      خواهش میکنم دوست عزیز
      در دست بررسی است.

      پاسخ
  7. 7

    dehghan

    سلام
    اگر در مورد پروتکل dmx512 و ارسال و دریافت دیتا با stm32 مثال بگذارید خیلی ممنون میشم.

    پاسخ
    1. 7.1
      زئوس Zeus

      زئوس Zeus

      بررسی میکنیم دوست گرامی

      پاسخ
  8. 6

    امین نجفی

    باسلام وتشکر. آموزشتون عالی بود ممنونم.اگه ممکنه درمورد ارتباط یو اس بی کامپیوتر با شبکه کن هم توضیح بدین

    پاسخ
    1. 6.1
      زئوس Zeus

      زئوس Zeus

      سلام دوست عزیز
      در برنامه کاری هست ، انشالله به این موارد نیز خواهیم پرداخت.

      پاسخ
  9. 5

    masoud

    سلام
    تشکر و خسته نباشید.

    پاسخ
    1. 5.1
      زئوس Zeus

      زئوس Zeus

      خواهش میکنم دوست عزیز.

      پاسخ
  10. 4

    سعید

    سایتتون عالیه..دو ساعته دارم فقط مطالبش رو میخونم…خسته نباشین

    پاسخ
    1. 4.1
      Yalda Shirazi

      Yalda Shirazi

      خیلی ممنون دوست عزیز. خوشحالیم مطالب براتون مفید بوده.

      پاسخ
  11. 3

    فرزانه

    سلام میشه لطفا پروژه های بیشتری با stm32cube و برنامه نویسی ان با keil5 بزارید
    واقعیتش من تازه دارم کارمیکنم بااین نرم افزار و میخوام یه سون سکمنت با hal اجرا کنم ولی متاسفانه جواب نگرفتم میخواستم ببینم میتونین راهنماییم کنین
    باتشکر از سایتتون

    پاسخ
    1. 3.1
      زئوس Zeus

      زئوس Zeus

      سلام دوست عزیز
      خواهش میکنم ، انشالله توی دستور کار هست که این کارو انجام بدیدم !
      برای راهنمایی می تونید از طریق ایمیل یا تلگرام سیسوگ در ارتباط باشید.

      پاسخ
  12. 2

    سروش

    سلام
    ممنون از آموزشتون .فوق العاده بود .
    لطفا ادامه بدید.

    پاسخ
    1. 2.1
      Sisoog Os
  13. 1

    محمد

    با سلام .ممنون از مطلب مفیدتون .
    لطفا در مورد طریقه راه اندازی پروتکل اترنت و ویژگی ها نیز مطلب بگذارید

    پاسخ
    1. 1.1
      زئوس Zeus

      زئوس Zeus

      سلام و درود خدمت شما دوست عزیز ، خوشحالیم که مطالب سایت مورد توجه دوستان قرار گرفته است
      در مورد شبکه ، انشالله مطالب آموزیشی منتشر خواهیم کرد.

      پاسخ

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

کلیه حقوق این سایت متعلق به سیسوگ بوده و انتشار مطالب بدون ذکر نام و وب سایت سیسوگ اخلاقا مجاز نمی باشد. Sisoog