صفحه 1 از 2 12 آخرینآخرین
نمایش نتایج: از شماره 1 تا 10 از مجموع 17
  1. #1
    SUPERMODERATOR
    تاریخ عضویت
    2012 May
    ارسال ها
    430
    تشکر
    750
    تشکر شده 961 بار در 440 پست
    نوشته های وبلاگ
    4


    آيا اين پست براي شما سودمند بود؟ بله | خیر

    ارتباط پورت سریال و #c

    سلام
    هر کار میکنم نمیشهههههه...
    حالا چی نمیشه..؟!!
    وقتی از میکرو کنترلر به پورت کام سیستم، داده میدم 2حالت پیش میاد...
    اگه اطلاعات دریافتی رو توو یه string بریزم و در تکس باکس نشون بدم علامت سوال نشون میده...
    اگه اطلاعات دریافتی رو توو یه int بریزم و در مسیج باکس نشون بدم, چند بار مسج باکس رو نشون میده و هر بار یا 128 رو خروجی میده و نشون میده یا 0 رو...
    ورودی که از میکرو به پورت کام میدم یک کارکتره مثل a یا مثلا 2 . ورودی رو تغییر میدم مثلا ورودی رو ک 3 میدم بازم خروجی فرق نمیکنه و مثل بالاست که گفتم..
    مشکل از کجاست..؟؟
    کد حالت اول:

    string read;

    private void DisplayText(object sender, EventArgs e)
    {
    textBox1.AppendText(read);

    }

    private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
    {
    //خواندن از پورت

    read = serialPort1.ReadExisting();

    this.Invoke(new EventHandler(DisplayText));
    }


    حالت دوم:
           int i;


    private void DisplayText(object sender, EventArgs e)
    {

    MessageBox.Show(i.ToString());

    }


    private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
    {
    //خواندن از پورت


    i = serialPort1.ReadByte();
    this.Invoke(new EventHandler(DisplayText));
    }



    موضوعات مشابه:
    سه جمله برای کسب موفقیت: ..... 1. بیشتر از دیگران بدانید.....2. بیشتر از دیگران کار کنید......3. کمتر انتظار داشته باشید. ( ویلیام شکسپیر )

  2. #2
    Moderator
    تاریخ عضویت
    2012 November
    ارسال ها
    128
    تشکر
    28
    تشکر شده 173 بار در 77 پست


    آيا اين پست براي شما سودمند بود؟ بله | خیر
    از اونجایی که مشخصه مشکل از کد گذاری هاست ، من اینُ همینجوری نوشتم تست نکردم اینُ تست کن بین جواب میده:
    int bytes_recived = serialPort1.BytesToRead;
    byte[] buffer = new byte[1024];
    serialPort1.Read(buffer, 0, bytes_recived);
    string recive_string = Encoding.ASCII.GetString(buffer, 0, bytes_recived);



  3. #3
    SUPERMODERATOR
    تاریخ عضویت
    2012 May
    ارسال ها
    430
    تشکر
    750
    تشکر شده 961 بار در 440 پست
    نوشته های وبلاگ
    4


    آيا اين پست براي شما سودمند بود؟ بله | خیر
    تکس باکس چیزی رو نشون نمیده !

    سه جمله برای کسب موفقیت: ..... 1. بیشتر از دیگران بدانید.....2. بیشتر از دیگران کار کنید......3. کمتر انتظار داشته باشید. ( ویلیام شکسپیر )

  4. #4
    SUPERMODERATOR
    تاریخ عضویت
    2012 May
    ارسال ها
    430
    تشکر
    750
    تشکر شده 961 بار در 440 پست
    نوشته های وبلاگ
    4


    آيا اين پست براي شما سودمند بود؟ بله | خیر
    نه.. همون علامت سوال نشون میده..

    سه جمله برای کسب موفقیت: ..... 1. بیشتر از دیگران بدانید.....2. بیشتر از دیگران کار کنید......3. کمتر انتظار داشته باشید. ( ویلیام شکسپیر )

  5. #5
    SUPERMODERATOR
    تاریخ عضویت
    2012 May
    ارسال ها
    430
    تشکر
    750
    تشکر شده 961 بار در 440 پست
    نوشته های وبلاگ
    4


    آيا اين پست براي شما سودمند بود؟ بله | خیر
    برای نمایش، متغیر recive_string رو در تابع display استفاده میکنم چون یه جا خونده بودم توو تابع DataReceived نمیشه نشون داد..

    سه جمله برای کسب موفقیت: ..... 1. بیشتر از دیگران بدانید.....2. بیشتر از دیگران کار کنید......3. کمتر انتظار داشته باشید. ( ویلیام شکسپیر )

  6. #6
    Moderator
    تاریخ عضویت
    2012 November
    ارسال ها
    128
    تشکر
    28
    تشکر شده 173 بار در 77 پست


    آيا اين پست براي شما سودمند بود؟ بله | خیر
    نقل قول نوشته اصلی توسط Tishab نمایش پست ها
    نه.. همون علامت سوال نشون میده..
    این خطُ :
    string recive_string = Encoding.ASCII.GetString(buffer, 0, bytes_recived);

    به این ، تغییر بده :
    string recive_string = Encoding.Unicode.GetString(buffer, 0, bytes_recived);

    ببین نتیجه چی میشه...


  7. #7
    SUPERMODERATOR
    تاریخ عضویت
    2012 May
    ارسال ها
    430
    تشکر
    750
    تشکر شده 961 بار در 440 پست
    نوشته های وبلاگ
    4


    آيا اين پست براي شما سودمند بود؟ بله | خیر
    علامت سوال نمیده ولی این رو میده: !!
    肀肀肀€�耀€肀肀肀€�耀€肀肀�耀 €肀�€耀€肀肀肀肀�耀€肀�€耀€ 肀�耀€肀肀�耀€肀���耀€肀肀 肀�耀€肀肀�耀€肀�€耀€肀肀� €肀肀�耀€肀�€耀€肀肀�耀€肀 €耀€肀肀�耀€肀肀�耀€肀��� €肀肀€耀€肀€

    سه جمله برای کسب موفقیت: ..... 1. بیشتر از دیگران بدانید.....2. بیشتر از دیگران کار کنید......3. کمتر انتظار داشته باشید. ( ویلیام شکسپیر )

  8. #8
    Moderator
    تاریخ عضویت
    2012 November
    ارسال ها
    128
    تشکر
    28
    تشکر شده 173 بار در 77 پست


    آيا اين پست براي شما سودمند بود؟ بله | خیر
    مطمئنی ، از سمت میکرو کارکتر داره درست میاد! این چیزی که مشخصه میکرو کد اسکی کارکتر a را نمیفرسته!


  9. #9
    SUPERMODERATOR
    تاریخ عضویت
    2012 May
    ارسال ها
    430
    تشکر
    750
    تشکر شده 961 بار در 440 پست
    نوشته های وبلاگ
    4


    آيا اين پست براي شما سودمند بود؟ بله | خیر
    نمیدونم
    کد میکرو اینه... تو بسکام :
    print 2
    یا
    print "c"

    سه جمله برای کسب موفقیت: ..... 1. بیشتر از دیگران بدانید.....2. بیشتر از دیگران کار کنید......3. کمتر انتظار داشته باشید. ( ویلیام شکسپیر )

  10. #10
    ADMIN
    تاریخ عضویت
    2011 October
    محل سکونت
    گیلان
    سن
    28
    ارسال ها
    136
    تشکر
    814
    تشکر شده 480 بار در 131 پست


    آيا اين پست براي شما سودمند بود؟ بله | خیر
    اول این کد رو بجای خط آخر پست دوم انتحان کن :

    کد:
    System.Text.Encoding.GetChars(Byte[])
    یا

    کد:
    Encoding.GetEncoding("Windows-1252").GetString(Byte[])
    این مشکل مشابه هم ببین که مشکل ارتباطی و تنظیمات بوده !

    لینک
    لینک



    ..::Never Trust Someone Who Lies To You , Never Lie To Someone Who Trusts You::..


 

 
صفحه 1 از 2 12 آخرینآخرین

کاربران برچسب خورده در این موضوع

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

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

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

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

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


Powered by vBulletin
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.6.0
Persian Language By Ustmb.ir
این انجمن کاملا مستقل بوده و هیچ ارتباطی با دانشگاه علوم و فنون مازندران و مسئولان آن ندارد..این انجمن و تمامی محتوای تولید شده در آن توسط دانشجویان فعلی و فارغ التحصیل ادوار گذشته این دانشگاه برای استفاده دانشجویان جدید این دانشگاه و جامعه دانشگاهی کشور فراهم شده است.لطفا برای اطلاعات بیشتر در رابطه با ماهیت انجمن با مدیریت انجمن ارتباط برقرار کنید
ساعت 02:46 AM بر حسب GMT +4 می باشد.