اطلاعیه

Collapse
No announcement yet.

ارسال داده باینری از طریق پورت سریال بر روی پورت میکرو

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    #16
    پاسخ : ارسال داده باینری از طریق پورت سریال بر روی پورت میکرو

    من بسکام کار نکردم و با تواعش آشنا نیستم. اما باید تابعی باشه که عدد رو به رشته تبدیل کنه. شما یک آرایه در نظر بگیرید. بعد اعداد رو یکی به یک به رشته تبدیل کنید و تو خونه های اون به ترتیب بریزید. بعدشم که دیگه ارسال و ...
    البته شما می تونی یک کار دیگه هم انجام بدی. وقتی تبدیل انجام میشه، یک رجیستری هست 8 یا 10 بیتی (بسته به تنظیمات واحد ADC) مقدار تبدیل رو تو خودش نگه میداره. شما اونو اینطرف بفرست و سمت دیگه ضرب و تقسیم رو انجام بده.
    ---------
    .
    .
    ...........

    دیدگاه


      #17
      پاسخ : ارسال داده باینری از طریق پورت سریال بر روی پورت میکرو

      نوشته اصلی توسط ajapyy
      من VB کار نکردم، اما تو لب ویو که کار می کردم، اول عدد رو محاسبه می کردم بعد تبدیل به رشته (کد اسکی متناظر) می کردم و ارسال برای میکرو. ببینید شما عددی که 6 بیت داره دو بیت آخرش تو قالب 8 بیتی ، صفر هستش. عدد 200 رو به صورت کد معادل اسکیش یعنی قالب رشته ارسال کنید.
      ممنونم، من دادمو در VB بصورت باینری یا هگز به پورت سریال میکرو میفرستم ولی نمیدونم چه جوری بین این داده دریافتی از پورت سریال و داده های دیگه دریافتی چطور قادر به تشخیص باشم؟ اخه من دو تا کامند دیگه در VB دارم که معادل اونها رو یه کدکاراکتری گذاشتم یعنی اگه هر کدام از این کامندها فشار داده شد مثلا کاراکتر S را برای یه کامند و کاراکتر t رو ارسال کن و توی میکرو با دستور getchar و اینکه تشخیص بده این t یا s هستش، دستور هر کامند رو اجرا میکنه ولی واسه اون داده باینری یا هگزی که روی پورت سریال فرستاده شده نمیدونم چه جوری توی میکرو بتونم این داده باینری رو بخوونم...بچه ها خواهشا کمکم کنین، خیلی درگیر این موضوعممم :angry:... پیشاپیش ممنونممممممممم

      دیدگاه


        #18
        پاسخ : ارسال داده باینری از طریق پورت سریال بر روی پورت میکرو

        به صورت آزمایشی با برنامه هایی مثل hyperterminal یا ترمینال خود کدویزن تستش کن، ببین وقتی از برنامه VB ارسال میشه، چی ارسال میشه ؟ کد هگز، باینری و یا هر چیز دیگه.
        بعد بیا و اینجا بگو.
        ---------
        .
        .
        ...........

        دیدگاه


          #19
          پاسخ : ارسال داده باینری از طریق پورت سریال بر روی پورت میکرو

          فکر میکنم همون هگز دریافت میشه، مشکل من تشخیصش با نوع کاراکتر s و t هستش، نمیدونم چه جوری بینشون تشخیص بدم که مثلا این داده هگز است؟ و بر اساس اون دستور رو انجام بده

          دیدگاه


            #20
            پاسخ : ارسال داده باینری از طریق پورت سریال بر روی پورت میکرو

            بچه ها این اینتراپت پورت سریال چیه؟ میشه با استفاده از اون داده عددی ارسال شده از طریق VB رو توی میکرو دریافت کرد و خوند؟ کسی تا حالا باهاش کار کرده؟ به کار مشکل من میاد؟

            دیدگاه


              #21
              پاسخ : ارسال داده باینری از طریق پورت سریال بر روی پورت میکرو

              سلام
              اینتراپت پورت سریال همیشه وقتی فعال میشه که شما دیتایی رو از میکرو برای کامپیوتر میفرستی و تا زمانی که دیتا در بافر پورت سریال قرارنگیره سیستم به کارهای دیگر مشغوله
              من در ارتباط کامپیوتر با میکرو از سی شارپ و کدویژن استفاده میکنم و بدون هیچ مشکلی ارتباط برقرار میکنم
              فرقی نمیکنه که شما دیتا رو به چه صورت میفرستی، همه به صورت باینری ارسال میشه و نحوه نمایش متفاوت هست که اون رو شما تعریف میکنی

              موفق باشی
              شبنم از سعی به سرچشمه خورشید رسید صائب تبریزی

              دیدگاه


                #22
                پاسخ : ارسال داده باینری از طریق پورت سریال بر روی پورت میکرو

                ممنونم، من فکر میکردم اینتراپت پورت سریال برای ارسال اعداد از کامپیوتر به میکرو هستش، پس اخه من چیکار کنم؟ مگه میشه نشه کاری کرد؟

                دیدگاه


                  #23
                  پاسخ : ارسال داده باینری از طریق پورت سریال بر روی پورت میکرو

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

                  اگر مشکل ارسال داری شما اول از کامپیوتر یه داده ارسال کن و ببین توسط میکرو میتونی دریافت کنی یعنی فقط همین کار رو انجام بده
                  و بعد از میکرو دیتا ارسال کن و با کامپوتر دریافت
                  من نیدونم که شما در کامپیوتر دریافت دارید یا نه ولی اگر ندارید
                  میتونه به دلیل این باشه که شما توی همون تابعی که دریافت دیتا دارید، کارهای دیگه رو روی دیتا انجام میدید که این مورد داره
                  شبنم از سعی به سرچشمه خورشید رسید صائب تبریزی

                  دیدگاه


                    #24
                    پاسخ : ارسال داده باینری از طریق پورت سریال بر روی پورت میکرو

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

                    دیدگاه


                      #25
                      پاسخ : ارسال داده باینری از طریق پورت سریال بر روی پورت میکرو

                      خیلی سادست
                      معادل دسیمال S عدد 83 و معادل T عدد 84
                      شما مقدار بافر دریافتی میکرو رو با این اعداد مقایسه کن و برای هر کدوم یه دستوری اجرا کن و بقیه داستان
                      شما اصل کار رو انجام دادی
                      شبنم از سعی به سرچشمه خورشید رسید صائب تبریزی

                      دیدگاه


                        #26
                        پاسخ : ارسال داده باینری از طریق پورت سریال بر روی پورت میکرو

                        نوشته اصلی توسط Soheilas
                        من دریافت رو در میکرو دارمم..منتها نمیدونم چه جوری بین کاراکتر S و T تمایز قایل بشم، چه طوری بگم حالا این مقدار چون عدده این دستور رو انجام بده..واسه کاراکترها که مشکلی نداره چون اونارو میخوونم ولی واسه این اعداد دریافتی در میکرو مشکل دارممم :angry: :angry:
                        کاری نداره خوب. اگر تو ترمینال کدویژن یا هایپرترمینال به صورت هگز می بینی یا کارکتر یا هر چیزه دیگه یعنی یک دیتایی برای میکرو ارسال میشه.
                        بیا یک if بنویس و توش بررسی کن ببین با کدوم برقراره.
                        بازم میگم. کدتو بزار ببینیم.
                        اگر بتونی برنامه VB رو هم بزاری بهتره.
                        ---------
                        .
                        .
                        ...........

                        دیدگاه


                          #27
                          پاسخ : ارسال داده باینری از طریق پورت سریال بر روی پورت میکرو

                          کاراکتر T و S تشخیصش که کاری نداره با همون کاراکتره، من مشکلم این عددست که چطوری بگم وقتی این اومد اینو درک کن....مثلا ببینید یه قسمت از برنامه من اینه
                          while (1)
                          {


                          a=getchar();
                          if (a=='t&#039
                          {
                          PORTC.0=1;
                          }


                          if (a=='s&#039
                          {
                          PORTC.1=1;
                          }



                          که از این برای تمایز کامندهای S و T استفاده کردم، حالا میخامم برای این عددی که میاد شرط بذارم منتها نمیدونم شرطش چی باشه یعنی من توی ادامه برنامه بالا اینو مشکل دارممم که به جای جای خالیی چی بذارمم؟

                          if (a==.................)
                          {
                          PORTB=...................;
                          }



                          یعنی عددی که اومده رو چی تعریف کنم؟

                          دیدگاه


                            #28
                            پاسخ : ارسال داده باینری از طریق پورت سریال بر روی پورت میکرو

                            یعنی عددی که اومده رو چی تعریف کنم؟
                            عدد اومده رو همون مقدار هگز یا باینری تعریف کن. مثلا 0x53 یا 0b00011100
                            ---------
                            .
                            .
                            ...........

                            دیدگاه


                              #29
                              پاسخ : ارسال داده باینری از طریق پورت سریال بر روی پورت میکرو

                              ممنونم از پاسختون، این عدد ثابت نیست، ممکنه فرق کنه، من به جای این عدد یه متغیر data در نظر گرفتم ولی ابتدای برنامه چون این مقدار در طول برنامه تغییر میکنه و برابر با مقداری میشه که از پورت سریال ایاد نمیدونم برابر چی بگیرمم؟

                              char data=?????????;


                              if (a==data)
                              {
                              PORTB=data;
                              }

                              برنامه VB هم اینه عدد رو میگیره از تکست، به باینری تبدیلش میکنه بعدش 8 بیتیش میکنه و میفرسته پورت سریال...حالا دریافت این عدد که بر اساس مقدار دریافت شده در تکست ممکنه تغییر کنه واسم سواله!!

                              Private Sub Command1_Click()

                              gg = Text1.Text
                              tt = DecimalToBinary(Val(gg))
                              If Len(tt) Mod 8 <> 0 Then tt = String(8 - Len(tt) Mod 8, "0&quot + tt
                              Text3.Text = tt
                              MSComm1.Output = tt

                              End Sub

                              دیدگاه


                                #30
                                پاسخ : ارسال داده باینری از طریق پورت سریال بر روی پورت میکرو

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

                                اون مقدار کنترلی داخل برنامه چند حالت می تونه بگیره ؟
                                قراره برای همه حالتا (یعنی مثلا 256 حالت) کار خاصی صورت بگیره ؟
                                وقتی نتونی با چیزه ثابتی مقایسه کنی، یعنی متغیره ثابتی برای مقایسه نداشته باشی، دیگه مقایسه میخوای چیکار !!
                                شما میخوای تغییر رو بفهمی ؟ می تونی از دو تا متغیر به نام های مثلا a_old و b_old استفاده کنی.
                                ---------
                                .
                                .
                                ...........

                                دیدگاه

                                لطفا صبر کنید...
                                X