ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





کاربران برچسب زده شده

نمایش نتایج: از 1 به 7 از 7

موضوع: مشکل در UART

  1. #1
    2012/11/05
    ايران
    602
    23

    مشکل در UART

    با سلام و خسته نباشید خدمت دوستان عزیز.من میخوام مقدار یه متغییر INT رو با UART بفرستم ولی نمیتونم.امکانش هست راهنمایی بفرمایید چطور میتونم مقدار این متغییر مستقیم ارسال و دریافت کنم.
    با تشکر
    حرف زدن کافي نيست بايد عمل کرد.دانستن کافي نيست بايد به کار گرفت
  2. #2
    2010/04/07
    تهران
    1,077
    150

    پاسخ : مشکل در UART

    نقل قول نوشته اصلی توسط rroozisia

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    با سلام و خسته نباشید خدمت دوستان عزیز.من میخوام مقدار یه متغییر INT رو با UART بفرستم ولی نمیتونم.امکانش هست راهنمایی بفرمایید چطور میتونم مقدار این متغییر مستقیم ارسال و دریافت کنم.
    با تشکر
    اگر منظورتون اینه که 32 بیت رو می خواهید بفرستید تو پک های 8 بیتی
    خب باید 8 بیت 8 بیت جدا کنید و بفرستید
    به روش های مختلفی میشه اینکار رو کرد اول بفرمایید ببینم تا منظورتون رو درست متوجه شدم یا نه
    اللهم صل علی محمد و ال محمد و عجل فرجهم
    پیامبر اکرم(ص):زکات علم نشر آن است.
    در کشور هاي غربي انتقال تجربيات و دانش به افراد مبتدي يک پيشرفت محسوب شده و به آن مديريت دانش مي گويند. ولي متاسفانه اين فرهنگ هنوز در کشور ايران رايج نشده است !!!
  3. #3
    2012/11/05
    ايران
    602
    23

    پاسخ : مشکل در UART

    امکان ارسال تو یه پک واحد نداریم درسته؟چون سریال 8 بیتی هستش.
    چطور میتونم توی 4 تا پک بفرستم؟و اینکه اگه متغیرم از نوع shortint باشه چور میشه؟
    باتشکر
    حرف زدن کافي نيست بايد عمل کرد.دانستن کافي نيست بايد به کار گرفت
  4. #4
    2010/04/07
    تهران
    1,077
    150

    پاسخ : مشکل در UART

    نقل قول نوشته اصلی توسط rroozisia

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    امکان ارسال تو یه پک واحد نداریم درسته؟چون سریال 8 بیتی هستش.
    چطور میتونم توی 4 تا پک بفرستم؟و اینکه اگه متغیرم از نوع shortint باشه چور میشه؟
    باتشکر
    خب اصلا ما کاری نداریم متغیرتون چیه یا 16 بیتی هست یا 32 بیتی یا ...
    و شما نیاز دارید که به صورت 8 بیت ارسال کنید
    باید از روش شیفت دادن استفاده کنید
    چه طوری
    اون متغیر مثلا 16 بیتی تون رو یک بار 8 بیت کم ارزشش رو داخل یک متغیر 8 بیتی می ریزید و ارسال می کنید
    بعد میایید 8 بار به راست شیفت میدید و الباقی را درون متغیر 8 بیتی تون می ریزید و ارسال می کنید
    short a=0xabcd;
    char b;

    b=a&0x00ff;////cd
    uart_transmit(b);//cd ersal mishe
    b=(a>>8)&0x00ff;
    uart_transmit(b);//ab ersal mishe
    اللهم صل علی محمد و ال محمد و عجل فرجهم
    پیامبر اکرم(ص):زکات علم نشر آن است.
    در کشور هاي غربي انتقال تجربيات و دانش به افراد مبتدي يک پيشرفت محسوب شده و به آن مديريت دانش مي گويند. ولي متاسفانه اين فرهنگ هنوز در کشور ايران رايج نشده است !!!
  5. #5
    2012/11/05
    ايران
    602
    23

    پاسخ : مشکل در UART

    با تشکر.دستور این کار برای کتابخونه hal چطور هستش؟
    حرف زدن کافي نيست بايد عمل کرد.دانستن کافي نيست بايد به کار گرفت
  6. #6
    2019/01/15
    1
    0

    پاسخ : مشکل در UART

    سلام به همه
    متاسفانه توابع hal برای usart بسیار دستوپاگیرن . شما این تابعی که نوشتین با رجیستر ها نوشتین درسته ؟ میشه با توابع hal هم راهنمایی کنین ؟
  7. #7
    2017/06/13
    718
    369

    پاسخ : مشکل در UART

    سلام دوستان
    اگر میخوایید کار با توابع HAL برای واحد UART (البته در keil؛ بقیه IDE ها رو امتحان نکردم) کمی ساده تر بشه، کافیه این قطعه کد رو بالای تابع main به پروژه ی خودتون اضافه کنید:
    #ifdef __GNUC__#define PUTCHAR_PROTOTYPE int __io_putchar(int ch) 
    #else
    #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
    #endif /* __GNUC__ */
    PUTCHAR_PROTOTYPE {
    HAL_UART_Transmit (&huart3, (uint8_t *)&ch, 1, 0xFFFF);
    return ch;
    }

    کافیه struct مناسب (که در اینجا huart3 هستش) رو بهش بدید و در برنامه خودتون بجای HAL_UART_Transmit از تابع printf استفاده کنید که مشابه همون تابع در برنامه های ویندوزی عمل میکنه و دیگه احتیاجی به استفاده از توابعی مثل sprintf نیست.
نمایش نتایج: از 1 به 7 از 7

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

  1. مشکل با UART
    توسط eca_user در انجمن میکروکنترلرهای PIC
    پاسخ: 8
    آخرين نوشته: 2016/08/26, 18:48
  2. مشکل در uart
    توسط mehdi_24 در انجمن میکروکنترلرهای AVR
    پاسخ: 5
    آخرين نوشته: 2015/02/20, 23:33
  3. مشکل با uart
    توسط H_M در انجمن میکروکنترلرهای AVR
    پاسخ: 5
    آخرين نوشته: 2014/07/10, 20:54
  4. uart interrupt مشکل
    توسط m410 در انجمن NXP
    پاسخ: 3
    آخرين نوشته: 2013/03/18, 21:41
  5. مشکل با UART
    توسط tarasheh در انجمن میکروکنترلرهای AVR
    پاسخ: 1
    آخرين نوشته: 2011/11/09, 22:24

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

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

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