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





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









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









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





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

نمایش نتایج: از 1 به 7 از 7
  1. #1
    2014/03/08
    بابلسر
    817
    226
    کاربر فعال
    کاربر فعال

    مشکل با تابع putchar

    سلام
    من دقیقاً قبل حلقه اصلی main میخوام یه تابع به صورت زیر تعریف کنم

    کد:
    void message(void)
    {
    putchar("H");
    }
    اما ارور میده،در صورتی که از printf استفاده میکنم ارور نمیده.
    اینم ارورش،کسی میتونه کمک کنه؟
    کد:
    Error: C:\Users\rezab\Desktop\sim800\tt.c(167): function argument #1 of type 'unsigned char [2]' is incompatible with required parameter of type 'unsigned char'
    درضمن تابع putchar هم توسط کدویزارد کدویژن به صورت زیر تعریف شده که من بعد این تابع،تابع خودمو تعریف کردم
    کد:
    #ifndef _DEBUG_TERMINAL_IO_
    // Write a character to the USART Transmitter buffer
    #define _ALTERNATE_PUTCHAR_
    #pragma used+
    void putchar(char c)
    {
    while (tx_counter == TX_BUFFER_SIZE);
    #asm("cli")
    if (tx_counter || ((UCSRA & DATA_REGISTER_EMPTY)==0))
       {
       tx_buffer[tx_wr_index++]=c;
    #if TX_BUFFER_SIZE != 256
       if (tx_wr_index == TX_BUFFER_SIZE) tx_wr_index=0;
    #endif
       ++tx_counter;
       }
    else
       UDR=c;
    #asm("sei")
    }
    #pragma used-
    #endif
    درضمن از تابع putchar در تابع اصلی (main) به راحتی استفاده میکنم و ارور نمیده.
  2. #2
    2017/07/20
    102
    75
    کاربر عضو
    کـاربـر عـضـو

    پاسخ : مشکل با تابع putchar

    لطفا حداقل مقداری از کد که قابل کامپایل باشه ( و یا در این مورد همین Error رو برگردونه ) قرار بده.

    پیام خطات هم که واضحه میگه چیزی که داری به تابع (اصلا معلوم نیست داره میگه کدوم تابع! ) پاس میدی استرینگه، در حالی که باید کاراکتر باشه.
    البته کامپایلرا خیلی مواقع پیام خطاشون دقیق نیست ( به خود مشکل اشاره نمیکنه)
  3. #3
    2014/03/08
    بابلسر
    817
    226
    کاربر فعال
    کاربر فعال
  4. #4
    2017/07/20
    102
    75
    کاربر عضو
    کـاربـر عـضـو

    پاسخ : مشکل با تابع putchar

    نه نه ، ببینید، من اصلا کد شما رو نمی خوام. (که خب خیلی ها (شامل خود من ) راحت نیستن بقیه کدشون رو ببینم).

    ظاهرا در تفسیر واژه "حداقل " در پست قبلی ام مقداری ابهام ایجاد میشه.
    برای کمک به شما احتیاج دارم کمترین مقدار قابل کامپایل رو ببینم . (همه ی کارهای اضافی کدتون به کنار، کمترین مقدار کدی که این خطا رو تولید میکنه .)
    least possible amount

    جز اینکار، کار دیگه ای نمیشه کرد. اگر من در یک پروژه خالی کدویژن ، تابع message رو مثل شما (فرض کنیم در جای مناسب تعریف کردید، اخه حلقه اصلی main یعنی چی؟؟) تعریف کنم و داخل حلقه ی while بی دلیل فراخوانی اش کنم، بدون مشکل کامپایل میشه.
  5. #5
    2017/07/20
    102
    75
    کاربر عضو
    کـاربـر عـضـو

    پاسخ : مشکل با تابع putchar

    on second thought

    الان که به کدتون نگاه میکنم، احتمالا مشکل شما اینه که بجای علامت کوتیشن از دایل کوتیشن استفاده کردید، تغییر بدید ببینید فرقی میکنه:


    putchar('H');


    کلا در زبان c یک کاراکتر تنها با ' مشخص میشه.
    و اینکه دقت کنید داخل کوتیشن space نخورده باشه
  6. #6
    2014/01/13
    40
    35
    کاربر عضو
    کـاربـر عـضـو

    پاسخ : مشکل با تابع putchar

    این تابع فقط کارکتر قبول میکند و لی در تابع شما یک رشته حروف به آن داده اید

    تابع شما:
    putchar("H")

    باید به صورت زیر نوشته شود:

    putchar('H')

    یعنی کاراکتر نقل قول با کوت باید عوض شود
  7. #7
    2014/03/08
    بابلسر
    817
    226
    کاربر فعال
    کاربر فعال

    پاسخ : مشکل با تابع putchar

    دوستان مشکل از همون کوتیشن بود. خودمم تعجب میکنم چرا چنین اشتباهی پیش اومده.آخه از این تابع خیلی استفاده کردم. ممنون از هر دو دوست عزیز.
    ویرایش توسط سید رضا باباتبار : 2017/08/12 در ساعت 17:46
نمایش نتایج: از 1 به 7 از 7

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

  1. پاسخ: 1
    آخرين نوشته: 2015/10/25, 15:03
  2. سوال در مورد putchar در avrstudio
    توسط navid.h در انجمن میکروکنترلرهای AVR
    پاسخ: 4
    آخرين نوشته: 2014/01/02, 16:59
  3. putchar
    توسط vahid112 در انجمن میکروکنترلرهای AVR
    پاسخ: 2
    آخرين نوشته: 2013/11/18, 09:32
  4. پاسخ: 1
    آخرين نوشته: 2012/09/28, 16:51
  5. مشکل با تابع Get در MMC) BASOCM)
    توسط asadi_keyhan در انجمن میکروکنترلرهای AVR
    پاسخ: 8
    آخرين نوشته: 2011/01/06, 22:41

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

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

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

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

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