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

موضوع: "پورت سریال، printf ، retarget" و دیگر هیچ!

  1. #1
    عضو جدید
    تاریخ عضویت
    Aug 2013
    نوشته ها
    13
    تشکر
    5
    تشکر شده 0 بار در 0 پست

    Exclamation "پورت سریال، printf ، retarget" و دیگر هیچ!

    سلام
    من بدجوری برای ارسال نتیجه محاسبات به کامپیوتر(از طریق پورت سریال) و مشاهده نتایج مشکل دارم
    متغیرهای عددی رو با sprintf به رشته تبدیل میکنم ولی نمیدونم چطوری باید از printf برای ارسال روی پورت سریال استفاده کنم. یعنی کار نمیکنه
    توی این لینک از انجمن و چندتا انجمن سایتهای خارجی یک اشاره به بکارگیری ریتارگت(retarget.c) شده که اصلا برام مفهوم نیست؟!!!
    این فایل فقط به پروژه اضافه بشه کافیه؟ اگه اینجوریه کدومش؟
    داخل پوشه های مختلف مثالهای همراه keil فایلهای ریتارگت زیاد هست که توابع داخلش با هم فرق داره. ظاهرا برای فایلینگ هم کاربرد داره؟

    هرکس میتونه توضیح بده این قضیه چیه. هرچی کامل تر بهتر.
    آخه در این مورد سوال و جواب کمه(شاید هم دلیلش اینه که همه میدونن و من نمیدونم ، آخه تازه کارم) و توضیحات جامع میتونه برای آینده هم استفاده بشه
    ممنون
    ویرایش توسط arasbaran : 25-10-2013 در ساعت 09:56

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

  3. #2
    عضو جدید
    تاریخ عضویت
    Aug 2013
    نوشته ها
    13
    تشکر
    5
    تشکر شده 0 بار در 0 پست

    Icon16

    کمـــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــک
    یعنی کسی چیزی نمیدونه؟
    یا این موضوع برای کسی جالب نیست؟

  4. #3
    تازه وارد
    تاریخ عضویت
    Sep 2012
    نوشته ها
    1
    تشکر
    0
    تشکر شده 0 بار در 0 پست

    پیش فرض

    شما باید یه تابع putchar درست کنی به طوری که بتونه یه کاراکترو از پورت سریال بفرسته٫اونوقت printf کار می کنه

  5. #4
    کاربر فعال hamid69 آواتار ها
    تاریخ عضویت
    Apr 2010
    نام
    حمید لطفعلی زاده
    نوشته ها
    110
    تشکر
    21
    تشکر شده 266 بار در 49 پست

    پیش فرض

    نقل قول نوشته اصلی توسط arasbaran نمایش پست ها
    کمـــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــک
    یعنی کسی چیزی نمیدونه؟
    یا این موضوع برای کسی جالب نیست؟
    سلام،
    من برنامه پورت سریال رو با توابع CMSIS نوشتم، می تونید از کد زیر که گذاشتم الگو بگیرید:
    همچنین فایل پروژه اش رو گذاشتم با ترمینال میتونید نتیجه رو ببینید.
    موفق باشید.
    [PHP]#include <LPC177x_8x.H>
    #include "delay.h"
    #include "lpc177x_8x_gpio.h"
    #include "lpc177x_8x_uart.h"
    #include "debug_frmwrk.h"

    void UART_Configuration(void)
    {
    UART_CFG_Type UARTConfigStruct;
    PINSEL_ConfigPin(0,2,1);
    PINSEL_ConfigPin(0,3,1);

    UART_ConfigStructInit (&UARTConfigStruct);

    //UARTConfigStruct.Baud_rate=9600;

    UART_Init(UART_0,&UARTConfigStruct);

    UART_TxCmd(UART_0,ENABLE);
    }

    main ()
    {
    Delay_init();
    UART_Configuration();

    while (1)
    {
    UARTPuts(UART_0,"Hello World\r\n");
    UARTPutChar(UART_0,UARTGetChar(UART_0));
    }
    }


    [/PHP]
    فايل هاي پيوست شده فايل هاي پيوست شده
    • نوع فایل: rar UART.rar (731.8 کیلو بایت, 69 نمايش)

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


  7. #5
    عضو جدید
    تاریخ عضویت
    Aug 2013
    نوشته ها
    13
    تشکر
    5
    تشکر شده 0 بار در 0 پست

    پیش فرض

    سلام
    ممنون از زحمت همه
    برنامه hamid69 کامپایل شد ولی روی میکرو خروجی نداد!
    البته این اولین بار نیست و خیلی مثال از اینترنت گرفتم که نتونستم خروجی ازش بگیرم
    درصورتی که بقیه می گفتند کار میکنه
    من تو درک منطق یک پروژه مشکل دارم،برای همین ارتباط بخشهای مختلف رو نمی تونم پیگیری کنم
    مثلا یکی جواب داده
    شما باید یه تابع putchar درست کنی به طوری که بتونه یه کاراکترو از پورت سریال بفرسته٫اونوقت printf کار می کنه
    این تابع رو کجا درست کنم؟ چطوری printf به این تابع وصل میشه؟
    یا در پروژه ای که hamid69 فرستاده کلی فایل هست

    با زدن + کنار هر فایل هم کلی فایل داخلش هست که حتی در دستورات #include هم نیومده
    اینها چیه؟
    کتاب یا مرجعی برای آموزش میشناسید؟
    سایت keil خیلی کلی و کوتاه شرح داده. بعضی از مثالهایی که نتونستم خروجی بگیرم رو از همونجا گرفتم
    ممنون میشم کمکم کنید
    ویرایش توسط arasbaran : 31-10-2013 در ساعت 20:39

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

    پیش فرض

    سلام
    برای استفاده از توابع stdio از یک فایل واسط به نام retarget.c استفاده شده که تا دستوراتی مثل printf استفاده میشه این تابع میره تابع fputc فراخونی میکنه که این تابع هم در retarget.c تعریف کرده که تابع SER_PutChar که خودمان تعریف کردیم را استفاده کنه
    این موارد در قسمت uart فیلم اموزشی کامل گفته شده ....

  9. #7
    کاربر فعال titery آواتار ها
    تاریخ عضویت
    Dec 2011
    نام
    وثوق
    نوشته ها
    166
    تشکر
    363
    تشکر شده 218 بار در 89 پست

    پیش فرض

    این فایلی که آپ میکنم کار میکنه(خودم این روزا دارم ازش استفاده میکنم lpc1788) البته اگه میکروتان 1768 هست یکسری تغیرات جزئی میخواد چون این سمپل کتابخونه CMSIS هست.
    برای ارسال هم از این استفاده میشه
    [PHP] uint32_t UARTSend(UART_ID_Type UartID, uint8_t *txbuf, uint32_t buflen)
    [/PHP]
    هر وقت خواستیم سریال رو بخوانیم از این دستور استفاده میکنیم
    [PHP]

    len = UARTReceive(_LPC_UART, buffer, sizeof(buffer));

    [/PHP]
    _LPC_UART : شماره پورت سریال
    Len :تعداد کاراکتر های موجود قرار گرفته شده در buffer هست که اگر صفر بود یعنی چیزی در بافر سریال نیست
    وقتی سریال آمد دیتای اول در بافر صفر و دیتای دو در بافر دو و....و ما باید به تعداد len در یک for مقدار بافر را بخوانیم و بعد دوباره از دستور استفاده کنیم
    فايل هاي پيوست شده فايل هاي پيوست شده
    • نوع فایل: rar serial.rar (3.7 کیلو بایت, 47 نمايش)

  10. #8
    عضو جدید
    تاریخ عضویت
    Aug 2013
    نوشته ها
    13
    تشکر
    5
    تشکر شده 0 بار در 0 پست

    پیش فرض

    سلام
    متاسفانه مشکل من هنوز پابرجاست
    البته الی الحساب با ارسال کاراکتر به پورت سریال یک چیزهایی رو میتونم ارسال کنم
    ولی انگار هر وقت بخواد کار میکنه

    تو یک پروژه به کمک فایل هدر uart که ساختم تونستم به خروجی سریال کاراکتر ارسال کنم
    حالا که میخوام از همین هدر تو پروژه دیگه ای استفاده کنم جواب نمیده
    این پروژه می خواستم RTC رو با قابلیت Alarm Interrupt فعال کنم ولی خروجی ندارم
    نمی دونم uart درست عمل نمیکنه یا RTC رو درست ست نکردم؟
    چندین حالت رو امتحان کردم ولی نشده

    پروژه رو پیوست میکنم هر کی تونست ببینه اگه با تغییری کار کرد زحمت بکشه بفرسته شاید بفهمم مشکل کجاست . ممنون

    myRTC.zip
    ویرایش توسط arasbaran : 04-11-2013 در ساعت 23:03

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

  1. پاسخ: 56
    آخرين نوشته: 12-04-2014, 21:57
  2. نیازمند "فایل pcb" آمپلی فایر با کیفیت بالا و تست شده
    توسط sobhan537 در انجمن مباحث کار و کاریابی/تبلیغات/بازارچه
    پاسخ: 4
    آخرين نوشته: 10-12-2013, 18:07
  3. نیازمند طراح و برنامه نویس "سایت"
    توسط sobhan537 در انجمن مباحث کار و کاریابی/تبلیغات/بازارچه
    پاسخ: 0
    آخرين نوشته: 02-12-2013, 02:23
  4. استفاده از جدول"lookup" در بسکام
    توسط علیدلی در انجمن AVR
    پاسخ: 5
    آخرين نوشته: 10-07-2013, 01:39

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

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