Giao tiếp RS232 trên PC

Collapse
This is a sticky topic.
X
X
 
  • Giờ
  • Show
Clear All
new posts
  • vdt
    Đệ tử 1 túi
    • Sep 2005
    • 14

    #76
    Delphi

    Có ai lập trình điều khiển bằng Delphi không? Do lịch sử để lại, thời mình đi học chỉ đựoc dạy Pascal, thế nên sau này cũng vẫn theo con đường cũ mà dùng Delphi.
    Mình thấy viết chương trình điều khiển bằng VB thì đơn giản thật, nhưng khi dân kỹ thuật dùng thì vẫn thấy thế nào ấy. Dùng VC thì là Pro nhất, nhưng với mình thì sẽ mất rất nhiều thời gian để học. Thế nên mình phải sử dụng Delphi.
    Hiện mình có một số thư viện để viết cho cổng RS232 bằng Delphi, đây cũng là những thư viện free và mình download trên net cả thôi, nhưng mình thấy dùng khá ổn định và dễ dàng. Mình xin đóng góp lên đây để mọi ngừoi tham khảo nhé.
    Chúc mọi người vui vẻ
    Attached Files

    Comment

    • hoangthongd
      Nhập môn đệ tử
      • Apr 2007
      • 1

      #77
      truyen du lieu so dung VC++

      chao cac bac!
      em chi moi tap tanh ve VC++ va dung MScomm de giao tiep voi vdk 89s52.
      truyen du lieu thi ca hai ben dieu nhan duoc. khi truyen kieu CString thi du lieu truyen khong co sai sot. tuy nhien, em muon truyen theo kieu so, chang han nhu truyen con so nguyen 234 thi lai truyen sai het ca ben vdk va PC.
      em thay cac bac kha ranh ve van de nay nen xin cac bac giup em voi
      dieu nay rat can thiet cho em vi em dang lam de tai mon hoc.
      xin bac nao biet giup em voi

      Comment

      • hoangtham
        Nhập môn đệ tử
        • Aug 2006
        • 4

        #78
        Hiển thị dữ liệu giao tiếp qua RS232

        Mình có 1 mạch điều khiển động cơ DC sd VDK có giao tiếp với máy tính qua cổng COM.Dữ liệu về tốc độ được đọc về từ encoder. Giờ muốn lưu lại vào 1 file để chuyển thành đồ thị thì làm thế nào? có cao thủ nào giúp mình với.Mình dùng visual C++ để lập trình

        Comment

        • ngohaibac
          Đệ tử 9 túi
          • Oct 2005
          • 231

          #79
          Thám à,

          Cậu xem về đọc ghi file trong VC++ nhé, mở MSDN ra mà xem. Thư viện với VC++ là fstream.h.

          Còn việc hiển thị dữ liệu lên figure thì tìm component của VC++ ấy. Mình tìm cho sau nhé.

          Chúc mày ok .
          www.ngohaibac.net
          www.ngohaibac.com

          Comment

          • Attiny
            Nhập môn đệ tử
            • Apr 2007
            • 1

            #80
            Sao em down cai link http://luckytoki.com/haibac/download...C/Terminal.zip

            chương trình TERMINAL

            của anh HẢI BẮC ko dược nhỉ nhờ các bác chi ZUM THANK!

            Comment

            • ngohaibac
              Đệ tử 9 túi
              • Oct 2005
              • 231

              #81
              Chương trình Terminal

              Chương trình Terminal đây, các bạn download về nhà dùng nhé.

              Chúc anh em luôn luôn ok .
              Attached Files
              www.ngohaibac.net
              www.ngohaibac.com

              Comment

              • signin
                Nhập môn đệ tử
                • Apr 2007
                • 6

                #82
                Goi Anh Hai Bac!

                Chương trình nhận dữ liệu từ máy tính của vi điều khiển
                Code:
                org	000h
                
                	;  khoi tao UART
                	; Thiet lap SMOD = 1, nghia la chia cho 16
                		mov	a,87h		; 87h chinh la dia chi cua thanh ghi PCON
                		setb	ACC.7		; SMOD =1, nghia la chia cho 32
                		mov	87h,a	
                	
                		mov	SCON,#01010010b
                					; SM0_SM1_SM2_REN_TB8_RB8_TI_RI
                					;     0        1         0         1          0         0      1    0
                					; UART 8 bit , cho phep nhan ki tu, set co ngat phat
                
                		mov	TMOD,#00100000b
                					; GATE_C/T_M1_M0_GATE_C/T_M1_M0
                					;       0         0      1       0          0         0      0       0
                					; Timer 1, mode 2 ( auto load )
                		mov	TH1,#-3		; toc do thuc 19200 baud
                		setb	TR1		; cho phep timer hoat dong
                		
                td:		mov	r0,#40h		; vi tri o nho bat dau luu
                		
                td1:		jnb	RI,$
                		clr	RI
                		mov	@r0,SBUF
                		inc	r0
                		jmp	td1
                
                		
                end

                Chương trình gởi dữ liệu từ máy tính tới vi điều khiển:

                Code:
                Private Sub Form_Load()
                
                RX_Counter = 0
                ' init for comport
                
                With MSComm1
                    .CommPort = 2               'chose COM2
                    .Settings = "19200,N,8,1"    'baud 9600bps, none parity, 8 bit data, 1 bit stop
                    .InBufferSize = 1024
                    .InputLen = 0
                    .RThreshold = 1
                    .SThreshold = 1
                    .OutBufferSize = 512
                    .InputMode = comInputModeBinary
                    '.InputMode = comInputModeText
                    .PortOpen = True
                End With
                
                'init for edit boxes
                For i = 0 To 10
                    Text1.Item(i).Text = i
                    Text1.Item(i).Alignment = 2
                Next
                
                End Sub
                
                Private Sub cmdSend_Click()
                
                Dim BytesToSend(10) As Byte
                
                'Store the data in a byte array
                For i = 0 To 10
                    BytesToSend(i) = Val("&h" & Text1.Item(i).Text)
                Next
                
                'Send the data to the port
                MSComm1.Output = BytesToSend()
                
                End Sub
                Em có download chương trình Giao tiếp RS232 trên PC bằng Visual Basic ( do anh Hải Bắc viết ) về dùng!


                Em truyền dữ liệu từ vi điều khiển 89S52 lên máy tính thì nhận đúng nhưng gởi dữ liệu từ máy tính xuống vi điều khiển thì vi điều khiển không nhận được!

                Kính mong anh Hải Bắc xem dùm source code của Visual Basic, vi điều khiển của em viết đúng không? Nhờ anh Hải Bắc chỉ giúp!

                Hiện nay em đang làm đồ án tốt nghiệp nhưng gặp sự cố ở khâu truyền dữ liệu từ máy tính xuống vi điều khiển.

                Em hiện đang học ngành cơ khí.

                @ngohaibac: em nhớ để code giữa 2 tag code nhé. Cho người đọc dễ nhìn em ạ.
                Last edited by ngohaibac; 22-06-2007, 03:28 PM.

                Comment

                • master_boot
                  Nhập môn đệ tử
                  • Jun 2007
                  • 1

                  #83
                  Anh ơi anh có thể cho em code của trương trình không?em đang làm đề tài cơ sở về "viết chương trình đường truyền file giữa 2 máy tính bằng ngôn ngữ C" em muốn tham khảo thêm anh giup em trong thời gian ngắn nhất nhé em mới vào nghề mà nếu được anh mail vào hòm thư: virus_batdiet_k5d@yahoo.com cảm ơn anh nhiều

                  Comment

                  • ngohaibac
                    Đệ tử 9 túi
                    • Oct 2005
                    • 231

                    #84
                    Source code ngay trong file đính kèm của bài 1 mà bạn:
                    RS232, RS485 và LPT là những giao tiếp cơ bản và kinh điển khi mới học về vi điều khiển...


                    Chúc bạn thành công.
                    www.ngohaibac.net
                    www.ngohaibac.com

                    Comment

                    • ngohaibac
                      Đệ tử 9 túi
                      • Oct 2005
                      • 231

                      #85
                      Nguyên văn bởi signin View Post
                      Chương trình nhận dữ liệu từ máy tính của vi điều khiển
                      .................................................. .........
                      1. Về chương trình truyền trên PC em không có hàm ngắt OnComm à ?Thế thì làm sao xử lý được dữ liệu truyền lên nhỉ ?

                      SThreshold = 0 để không xảy ra sự kiện ngắt truyền. RThreshold = 1 là khi có 1 byte trong bộ đệm nhận thì sẽ xảy ra sự kiện nhận dữ liệu.

                      2. Còn chương trình ở VĐK làm sao em biết là vi điều khiển nhận được hay chưa ? vì khi em nhận được dữ liệu thì chỉ có ghi dữ liệu vào trong RAM thôi mà. Em có thể test bằng cách cho một cổng nối với Led để test. Khi nhận được dữ liệu thì setb để led sáng.

                      Chương trình của em là hoàn toàn dùng kiểu Polling, chờ khi cờ RI = 1 thì ghi dữ liệu. Cách này không tối ưu, sao em không dùng ngắt nhỉ ? như thế sẽ làm được nhiều việc hơn.

                      Chương trình cũng không có đoạn lệnh gửi dữ liệu lên PC mà?

                      Chúc em thành công.
                      www.ngohaibac.net
                      www.ngohaibac.com

                      Comment

                      • signin
                        Nhập môn đệ tử
                        • Apr 2007
                        • 6

                        #86
                        Cam on anh Hai Bac nhieu!

                        Comment

                        • ngohaibac
                          Đệ tử 9 túi
                          • Oct 2005
                          • 231

                          #87
                          Chào các bạn.

                          Tài liệu Serial Port Complete ,TUT01 và các file có liên quan mình đều upload tại đây:


                          Chúc các bạn thành công.
                          www.ngohaibac.net
                          www.ngohaibac.com

                          Comment

                          • nofre
                            Nhập môn đệ tử
                            • Jun 2007
                            • 8

                            #88
                            thú vị thật đấy .
                            Đa tạ các đại ca đã chỉ dẫn cụ thể.

                            Comment

                            • huunghia
                              Đệ tử 1 túi
                              • Aug 2005
                              • 11

                              #89
                              Nguyên văn bởi ntc View Post
                              Đây nè.





                              Bạn vào địa chỉ này, nhấn vào cái nút "FREE", sau đó đọc kĩ các thông báo ở các trang tiếp theo và làm theo là được. Nó kêu đợi thì phải chịu khó đợi.

                              Hehe, sinh viên bắt đầu vào mùa làm đề tài rồi đây. Mình cũng thế.
                              Link nay hinh nhu die rui
                              bac gui cho em nhe huunghiaonline@gmail.com
                              cam on bac nhieu

                              Comment

                              • dung424
                                Nhập môn đệ tử
                                • Sep 2007
                                • 1

                                #90
                                cảm ơn các bác, em là thành viên mới đang làm đề tài giao tiềp máy tính bằng VB đang trong quá trình tự nghiên cứu nên nhận được tài liệu của các bác em rất hay mong các bác post lến giúp em. cảm ơn các bác

                                Comment

                                Working...