اطلاعیه

Collapse
No announcement yet.

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

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

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

    من الان دارم اون رفرنس visual basic که گفتم رو میخونم از چند روز دیگه کلی سوال دارم :redface:
    سوالام تازه داره شروع میشه :agree:
    فکر کنم از سه چهار روز دیگه اینقدر سوال بپرسم که دیگه به این تاپیک سر نزنین

    دیدگاه


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

      من یه سری آموزش labview به زبان فارسی و انگلیسی دارم. اگه کسی خواست، بگین بزارم.
      خودمم زیاد باهاش کار کردم. عالیه! :agree:
      زندگی یعنی لذت یاد گرفتن و یاد دادن

      دیدگاه


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

        سلام
        لطفا پلود کنید تا بعد ها که خواستیم مطالعه و در موردش بحث کنیم، یه رفرنس خوب داشته باشیم :applause:

        دیدگاه


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

          سلام.........
          از قدیم گفتند نیکی و پرسش ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
          یه حرفایی میزنی ساناز جون :biggrin: خوب معلومه می خوایم ...من از همین الان منتظرم که بذاری :applause:
          آفرین منتظرما

          دیدگاه


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

            پس از مدت ها با این مطلبی که خانم صفوی گذاشتند فکر کردم هنوز امیدی به دخترا در زمینه ی الکترونیک وجود داره oo: oo:
            ولی این یکی هم فقط اومده بوود من رو بذاره سر کارو بره :redface:
            تبریک می گم

            دیدگاه


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

              اگه خوشبینانه نگاه کنیم خانم صفوی شاید یادشون رفته :agree:
              امیدواریم چیزی که گفتن رو بذارن

              دیدگاه


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

                سلام مجدد :smile:
                سوالای من شروع شد :icon_razz:

                بسم الله :smile:

                Private Sub Command1_Click()
                MSComm1.Output = Chr(54)
                End Sub


                چرا مینویسیم chr(54) ؟
                اگر فقط بنویسیم :

                MSComm1.Output = 54
                چی میشه؟
                این عدد چه محدودیتی داره؟
                منطورم اینه که عددی که MSComm1.Output رو مساوی اون قرار میدیم از چه نوعی هست؟ byte یا word یا ...

                دیدگاه


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

                  ببخشید!
                  حواسم نبود!
                  یادم رفته بود! oo:
                  در اولین فرصت میزارم!
                  زندگی یعنی لذت یاد گرفتن و یاد دادن

                  دیدگاه


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

                    اها!
                    آماده شد! :agree:
                    این یه کتاب فارسی آموزش labview ! :biggrin:
                    خب!
                    حالا شما شروع کنید، اگه جایی به مشکل خوردین، تا جایی که بتونم کمک می کنم! :agree: :nerd:
                    ببخسید یه کم دیر شد، من زیاد به eca نمیام! oo: :redface:
                    حالا سعی می کنم زود به زود چک کنم! :nice: :agree:

                    http://www.mediafire.com/?sharekey=5...e27a7d5f2bd82b
                    زندگی یعنی لذت یاد گرفتن و یاد دادن

                    دیدگاه


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

                      حالا دیدید در مورد ایشون زود قضاوت کردید؟ :smile:

                      دیدگاه


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

                        نوشته اصلی توسط احسان *
                        سلام مجدد :smile:
                        سوالای من شروع شد :icon_razz:

                        بسم الله :smile:

                        Private Sub Command1_Click()
                        MSComm1.Output = Chr(54)
                        End Sub


                        چرا مینویسیم chr(54) ؟
                        اگر فقط بنویسیم :

                        MSComm1.Output = 54
                        چی میشه؟
                        این عدد چه محدودیتی داره؟
                        منطورم اینه که عددی که MSComm1.Output رو مساوی اون قرار میدیم از چه نوعی هست؟ byte یا word یا ...
                        :angry: :angry: :cry2: :cry2:

                        دیدگاه


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

                          سلام :smile:
                          من برنامه بسیار ساده زیر رو تو vb نوشتم :redface:

                          Private Sub Command1_Click()
                          MSComm1.Output = Chr(60)
                          End Sub

                          Private Sub Command2_Click()
                          MSComm1.Output = Chr(53)
                          End Sub

                          Private Sub Form_Load()
                          MSComm1.CommPort = 1
                          MSComm1.PortOpen = True
                          MSComm1.Settings = "9600,n,8,1"
                          End Sub

                          اینم شکل فرم برنامه



                          پایه 3 پورت rs232 رو به پایه rxd میکرو وصل کردم
                          میخوام اگه روی command1 زدم chr(60) ارسال بشه و اگه روی اون یکی یعنی command2 زدم chr(53) :icon_razz:
                          تو میکرو هم برنامه نوشتم که اگه udr برابر 53 بود (یعنی command2 زده شده بود) روی lcd بنویسه hello و اگه udr برابر 60 بود (یعنی command1 زده شده بود) روی lcd بنویسه bye
                          مشکل اینجاست که وقتی command1 رو میزنم رو lcd چیزی نمی نویسه :angry: :cry2:
                          (وقتی command 2 رو میزنم رو lcd مینویسه hello ولی با زدن command1 تغییری نمیکنه :angry: :cry2:

                          اینم برنامه تو میکرو:

                          $regfile = "M32def.dat "
                          $crystal = 1000000
                          $baud = 9600
                          Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.3 , Rs = Portd.2
                          Config Lcd = 16 * 2

                          Dim F As Byte

                          Enable Interrupts
                          On Urxc Computer
                          Enable Urxc

                          Open "com1:9600,8,n,1" For Binary As #2

                          Computer:
                          F = Udr
                          Disable Urxc
                          If F = 53 Then
                          Cls
                          Lcd "hello"
                          Elseif F = 60 Then
                          Cls
                          Lcd "bye"
                          End If
                          Enable Urxc
                          Return

                          دیدگاه


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

                            مسقیم از کامپیوتر به میکرو!!! oo: بدون max232 یا level convertor دیگه

                            خوب میکرو اگه نترکه حتما میترکه
                            به وبلاگم سر بزنید

                            دیدگاه


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

                              نصف شب پروزه بستن همین چیزا رو هم داره

                              باورت میشه max232 رو یادم رفت :eek: :surprised:

                              حالا max232 استفاده کردم (پایه tx پورت rs232 رو به پایه 13 max232 زدم و پایه 12 max232 رو به پایه 14 میکرو یعنی rx زدم)

                              ولی بازم مشکل دارم :angry: :angry: :angry:

                              برنامه vb به صورت زیر هست :

                              Private Sub Command1_Click()
                              MSComm1.Output = Chr(20)
                              End Sub

                              Private Sub Command2_Click()
                              MSComm1.Output = Chr(40)
                              End Sub

                              Private Sub Form_Load()
                              MSComm1.CommPort = 1
                              MSComm1.PortOpen = True
                              MSComm1.Settings = "9600,n,8,1"
                              End Sub

                              برنامه میکرو هم اینه :

                              $regfile = "M32def.dat "
                              $crystal = 1000000
                              $baud = 9600
                              Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.3 , Rs = Portd.2
                              Config Lcd = 16 * 2

                              Dim F As Byte

                              Enable Interrupts
                              On Urxc Computer
                              Enable Urxc

                              Open "com1:9600,8,n,1" For Binary As #2

                              Computer:
                              F = Udr
                              Disable Urxc
                              Cls
                              lcd f
                              Enable Urxc
                              Return

                              میخوام هر چی میگیره رو lcd نشون بده

                              مشکل اینه که هر بار که command1 یا command2 رو میزنم رو lcd یه چیز متفاوت نشون میده

                              یعنی مثلا بار اول که command1 رو میزنم رو lcd مینویسه 132 بعد command2 رو میزنم مینویسه 148 حالا دوباره command1 رو میزنم مینویسه 152

                              دیدگاه


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

                                چرا از سخت افزاری توی میکرو استفاده نمیکنی

                                بعد open کردی ... یعنی نرم افزاری پورت باز کردی ... چرا از udr میخونی... این که سخت افزاریه

                                قربون دستت اینطوری بنویس

                                $baud=9600
                                dim a as byte

                                do
                                a=waitkey()
                                lcd a
                                loop

                                البته این موقعیه که کریستال شما استاندارد باشه یا خطا کمتر از 1% باشه که با فرکانس 1مگاهرتز باوود 9600 نمیشه

                                در ضمن اگه میخوای رشته بگیری بهتر اینطوری بنویسی:

                                dim a as string*20
                                input a

                                اگه اینتراپتی بخوای برنامت درسته اگه سخت افزاری باشه نه open ...

                                اگه میخوای حرفه ای باشه:

                                Config Serialin = Buffered , Size = 20
                                enable interrupts

                                بعد این بطول 20 کارکتر داده دریافتی ذخیره میشه تا شما از دستور input استفاده کنی
                                آخر خط هم با 13 و 10 اسکی تموم میشن که توی ویندوز میشه اینتر توی بیسیک میشه chr(13) و chr(10 )
                                توی سی میشه \n\r

                                توی بیسیک هم چون mscomm برای قالب اسکی ساخته شده بهتره از chr با کدهای عجیب غریب استفاده نکنی

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

                                دیدگاه

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