اطلاعیه

Collapse
No announcement yet.

ویژوال بیسیک و ارتباط کامپیوتر (پورتrs232) با میکرو

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

    پاسخ : ویژوال بیسیک و ارتباط کامپیوتر (پورتrs232) با میکرو

    همین؟
    خب متن با زدن چه دکمه ای توسط کاربر ارسال میشه؟

    دیدگاه


      پاسخ : ویژوال بیسیک و ارتباط کامپیوتر (پورتrs232) با میکرو

      بابا ایول داری
      اون دستور که نوشتم رو داخل رویداد کلیک یه دکمه بنویس خوب...
      موفق باشی

      دیدگاه


        پاسخ : ویژوال بیسیک و ارتباط کامپیوتر (پورتrs232) با میکرو

        با تشکر از سید مهدی :applause: :applause:

        دیدگاه


          پاسخ : ویژوال بیسیک و ارتباط کامپیوتر (پورتrs232) با میکرو

          حالا سوالم اینه که چطور میشه متن فارسی تو textbox نوشت؟(وقتی کیببرد رو فارسی میکنم و تو textbox تایپ میکنم حروف عجیب غریب مینویسه)
          خوب ویندوزت رو فارسی کن.
          در کنترل پنل وارد قسمت regional and Language بشو و از سربرگ وسط تیک اول رو فعال کن و OK کن (البته سی دی ویندوز رو هم باید بزاری تو سی دی رام!)
          اگه ویندوزت فارسیه اینطوری مینویسه کار زیر رو انجام بده:
          در برنامه ویژوال بیسیک به منوtools وارد قسم options شوید.در قسمت editor format در قسمت فونت ، فونت Courier New (Arabic) را انتخاب کنید...
          موفق باشید

          دیدگاه


            پاسخ : ویژوال بیسیک و ارتباط کامپیوتر (پورتrs232) با میکرو

            من یک مشکلی با مدارم دارم.

            من به راحتی میتونم کدهائی مثل chr(xx) رو ارسال کنم و با میکرو دریافت کنم و ...

            اما وقتی نوبت به متن میرسه :

            متن ارسال میشه ، اما ناقص ، یعنی از حرف چهارم به بعد حذف میشه . مثلا : من کلمه : bahram رو می فرستم به میکرو اما روی ال سی دی : bahm نمایش داده میشه !!!!

            من از دستور waitkey برای دریافت استفاده می کنم.

            با دستور input هیچی دریافت نکردم ، ! اما با دستور print میتونم یک متن مثل " azmayesh " رو خیلی راخت ارسال کنم و با برنامه دریافت کنم.


            به نظر شما مشکل کجاست .؟؟؟؟ :question: :question: :question:




            من رو با نام " بهرام الکترونیک " میتونید تو نت پیدا کنید. !!!!

            دیدگاه


              پاسخ : ویژوال بیسیک و ارتباط کامپیوتر (پورتrs232) با میکرو

              از وقفه پورت سریال استفاده کنید.

              دیدگاه


                پاسخ : ویژوال بیسیک و ارتباط کامپیوتر (پورتrs232) با میکرو

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

                من به راحتی میتونم کدهائی مثل chr(xx) رو ارسال کنم و با میکرو دریافت کنم و ...

                اما وقتی نوبت به متن میرسه :

                متن ارسال میشه ، اما ناقص ، یعنی از حرف چهارم به بعد حذف میشه . مثلا : من کلمه : bahram رو می فرستم به میکرو اما روی ال سی دی : bahm نمایش داده میشه !!!!

                من از دستور waitkey برای دریافت استفاده می کنم.

                با دستور input هیچی دریافت نکردم ، ! اما با دستور print میتونم یک متن مثل " azmayesh " رو خیلی راخت ارسال کنم و با برنامه دریافت کنم.


                به نظر شما مشکل کجاست .؟؟؟؟ :question: :question: :question:
                دلیلش اینه که سرعت کاممپیوتر بیشتر از سرعت میکرو هستش و وقتی که pc یک بایت رو میفرسته تا میکرو بخواد بایت رو بخونه pc بایت بعدی رو میفرسته...
                باید یه جوری در زمان ارسال از delay استفاده کنید.
                این قابلیت در دات نت هست ولی در وی بی 6 ندیدم!
                موفق باشید

                دیدگاه


                  پاسخ : ویژوال بیسیک و ارتباط کامپیوتر (پورتrs232) با میکرو

                  دلیلش اینه که سرعت کاممپیوتر بیشتر از سرعت میکرو هستش و وقتی که pc یک بایت رو میفرسته تا میکرو بخواد بایت رو بخونه pc بایت بعدی رو میفرسته...
                  باید یه جوری در زمان ارسال از delay استفاده کنید.
                  این قابلیت در دات نت هست ولی در وی بی 6 ندیدم!
                  موفق باشید
                  به نظر شما میشه با افزایش فرکانس کاری میکرو این مشکل رو رفع کرد؟
                  من رو با نام " بهرام الکترونیک " میتونید تو نت پیدا کنید. !!!!

                  دیدگاه


                    پاسخ : ویژوال بیسیک و ارتباط کامپیوتر (پورتrs232) با میکرو

                    نه نمیشه!
                    داخل دات نت ، داخل مشخصات کامپوننت serialport یک خصوصیت به نام WriteTimeout هست که میشه با اون زمان delay بین هر ارسال را مشخص کنید...
                    موفق باشید

                    دیدگاه


                      پاسخ : ویژوال بیسیک و ارتباط کامپیوتر (پورتrs232) با میکرو

                      نوشته اصلی توسط سید مهدی

                      دلیلش اینه که سرعت کاممپیوتر بیشتر از سرعت میکرو هستش و وقتی که pc یک بایت رو میفرسته تا میکرو بخواد بایت رو بخونه pc بایت بعدی رو میفرسته...
                      باید یه جوری در زمان ارسال از delay استفاده کنید.
                      این قابلیت در دات نت هست ولی در وی بی 6 ندیدم!
                      موفق باشید
                      باود ریتی که در هر دو طرف تعیین میکنیم واسه همینه دیگه!
                      من فکر نمیکنم ربطی به تفاوت سرعت کامپیوتر و میکرو داشته باشه چون در این صورت باید فاتحه تمام سیستم هایی که با پورت سریال کار میکنن رو بخونیم.
                      من تو دریافت رشته با استفاده از interrupt پورت سریال هیج مشکلی نداشتم.

                      دیدگاه


                        پاسخ : ویژوال بیسیک و ارتباط کامپیوتر (پورتrs232) با میکرو

                        باود ریتی که در هر دو طرف تعیین میکنیم واسه همینه دیگه!

                        بله مشکل من با عوض کردن باود ریت حل شد.

                        من از باود ریت 9600 استفاده میکردم .

                        بعد از این که هر دو باودریت برنامه و میکرو رو به 4800 تغییر دادم مشکل من حل شد.



                        من رو با نام " بهرام الکترونیک " میتونید تو نت پیدا کنید. !!!!

                        دیدگاه


                          پاسخ : ویژوال بیسیک و ارتباط کامپیوتر (پورتrs232) با میکرو

                          یک راهش زیاد کردن کلاک میکرو هست.
                          دلا یاران سه قسمند ار بدانی
                          زبانی اند و نانی اند و جانی
                          به نانی نان بده از در برانش
                          محبت کن به یاران زبانی
                          و لیکن یار جانی را به دست آر
                          به جانش جان بده تا می توانی

                          دیدگاه


                            پاسخ : ویژوال بیسیک و ارتباط کامپیوتر (پورتrs232) با میکرو

                            بهترین راه در تبادل داده بخصوص سریال استفاده از حالت handshaking ـه !

                            دیدگاه


                              پاسخ : ویژوال بیسیک و ارتباط کامپیوتر (پورتrs232) با میکرو

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

                              Option Explicit

                              Dim recdata As String
                              Dim moji As Integer

                              Dim mul As Integer


                              Private Sub Command1_Click()
                              Unload Me
                              End Sub

                              Private Sub Form_Load()

                              MSComm1.CommPort = 1
                              MSComm1.PortOpen = True
                              MSComm1.Settings = "9600,n,8,1"
                              End Sub

                              Private Sub MSComm1_OnComm()
                              moj:
                              If MSComm1.CommEvent = comEvReceive Then
                              recdata = MSComm1.Input

                              Else
                              GoTo moj
                              End If
                              wait 1
                              moji = Val(recdata)
                              mul = moji * moji
                              MSComm1.Output = mul
                              End Sub

                              دیدگاه


                                پاسخ : ویژوال بیسیک و ارتباط کامپیوتر (پورتrs232) با میکرو

                                سلام دوستان من یک مشکل بزرگ دارم.

                                من از uart سخت افزاری برای ارتباط استفاده می کنم.

                                با یک do loop یک سری اطلاعات (مقدار دما) را به visual basic ارسال می کنم.

                                و داخل برنامه هم دریافت می کنم.

                                ولی این شکلی دریافت میشه : ( با تایمر)

                                مثلا دمای 45

                                45454545454545
                                یا در حالت multiline
                                45
                                45
                                45
                                45
                                که اینو نمیشه توی یک متغیر ذخیره کرد.
                                خواستم از دوستان کسی می دونه راه حلش چیه که من هر بار فقط اعداد دو رقمی یا یک رقمی داشته باشم؟؟
                                مثلا هر موقع که a=MSComm1.input را که می زارم فقط 45 بیاد داخلش.

                                با تشکر

                                دیدگاه

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