Thông báo

Collapse
No announcement yet.

Sử dụng thư viện liên kết động port.dll

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Sử dụng thư viện liên kết động port.dll

    Port.dll là thư viện liên kết động hỗ trợ các hàm vào/ra cổng nối tiếp và song song. (chạy trên Win98 và Win ME). Copy file này vào thư mục system của windows.

    Trong Visual Basic để sử dụng các hàm trong port.dll ta phải khai báo 1 module ,ví dụ module1.bas và viết trong đó các khai báo như sau:

    Declare Function OPENCOM Lib "port.dll "(Byval A$) as Integer
    Declare Sub CLOSECOM Lib "port.dll" ()
    Declare Sub SENDBYTE Lib "port.dll "(Byval b%)
    Declare Function READBYTE Lib "port.dll "() as Integer
    Declare Sub DELAY Lib "port.dll" (byval b%)
    Declare Sub DELAYUS Lib "port.dll" (byval l as long)
    Declare Sub OUTPORT Lib "port.dll "(Byval a%,Byval b%)
    Declare Function INPORT Lib "port.dll "(Byval p%) as Integer
    .......

    Đọc thêm trong sách " Lập trình ghép nối máy tính trong Windows của Ngô Diên Tập


    Trong chương trình chính việc sử dụng các hàm rất đơn giản :


    VD: OPENCOM ("COM2,9600,N,8,1")--> Thiết lập cấu hình cổng COM

    SENDBYTE(100)---> Gửi 1 byte ra cổng COM

    DIM response

    response=READBYTE---> Đọc 1 byte từ cổng COM

    OUTPORT &H378,12---->Gửi dữ liệu ra cổng máy in.
    Càng biết nhiều càng thấy mình biết ít.

  • #2
    Port.dll không chỉ dùng cho Visual Basic mà các phần mềm lập trình có khả năng giao tiếp với DLL của Windows như Delphi, C++ ...
    Ưu điểm của hàm Port là tiện lợi trong việc giao tiếp với cổng nối tiếp và song song, game... thế nhưng do thư viện này truy xuất trực tiếp vào phần cứng nên bọn 2k,XP cấm, nên muốn truy xuất phải thông qua Windows API, thư viện Port.dll cho 2k,xp tui đã post lên diendandientu.
    Ma hàm delay của nó cũng chả mấy chính xác bởi vì nó dựa trên một hàm delay "dởm" của Windows tui không nhớ tên, vấn đề này được bọn pcworld bàn nhiều rồi, nếu bạn delay dưới 50ms thì độ chính xác của nó chỉ khoảng 70% (PCWORLDVN), để xin hơn bạn nên làm quen với phần mềm Labview.

    Comment


    • #3
      Nguyên văn bởi phamthaihoa
      Port.dll không chỉ dùng cho Visual Basic mà các phần mềm lập trình có khả năng giao tiếp với DLL của Windows như Delphi, C++ ...
      Ưu điểm của hàm Port là tiện lợi trong việc giao tiếp với cổng nối tiếp và song song, game... thế nhưng do thư viện này truy xuất trực tiếp vào phần cứng nên bọn 2k,XP cấm, nên muốn truy xuất phải thông qua Windows API, thư viện Port.dll cho 2k,xp tui đã post lên diendandientu.
      Ma hàm delay của nó cũng chả mấy chính xác bởi vì nó dựa trên một hàm delay "dởm" của Windows tui không nhớ tên, vấn đề này được bọn pcworld bàn nhiều rồi, nếu bạn delay dưới 50ms thì độ chính xác của nó chỉ khoảng 70% (PCWORLDVN), để xin hơn bạn nên làm quen với phần mềm Labview.
      Bác nói chí lý, tui có lần thử cái hàm delay của bọn này thấy sai bét be. Nghe nói hàm delay của Visual C++ thì có vẻ chính xác hơn. Nhưng được cái VB thì lập trình đơn giản, ai học điện tử cũng có thể vào ngày là làm được ứng dụng đơn giản rồi: kiểu như menu, nút lệnh, vẽ đồ thị...còn sâu hơn như CSDL thì cũng có thể làm được. Nếu bác nào có bạn bè học ở CNTT mà làm VB rồi, hỏi là làm được ngay và rất nhanh. Tuy nhiên mức độc chuyên sâu thì ngôn ngữ nào cũng khó rùi.

      Bác có đề cập tới thư viện Port.dll cho 2k,xp? tui lùng bên diễn đàn điện tử ko thấy, có thể do cách sắp xếp bên đó rắc rối, nên tìm rất khó. Đôi khi mình tìm lại bài viết của mình cũng khá vất vả. Bác có thể post thư viện đó lên đây ko? nén thành file*.rar hoặc zip. Và cách sử dụng của nó có y hệt như bác ATYLA nói ở trên ko nhỉ. Hay khác hẳn, mong các cao thủ cho mình ít thông tin.
      -------------------

      Comment


      • #4
        Bác phamthaihoa up load cái port cho thằng 2k và XP lên cho anh em nhờ với. À mà nhờ bác chỉ tận tình cho anh em với. Ai cũng nói VB dễ học tuy nhiên tui đọc cái hướng dẫn port32.dll mà không làm được. Khi biên dịch cứ bị báo lỗi cái hàm pout32 và inp32.
        Nhờ bác chỉ dùm mình và cho anh em học hỏi với nha.
        Thánhk
        Ai nên khôn mà chẳng dại đôi lần.

        Comment


        • #5
          Nguyên văn bởi led1312
          Bác phamthaihoa up load cái port cho thằng 2k và XP lên cho anh em nhờ với. À mà nhờ bác chỉ tận tình cho anh em với. Ai cũng nói VB dễ học tuy nhiên tui đọc cái hướng dẫn port32.dll mà không làm được. Khi biên dịch cứ bị báo lỗi cái hàm pout32 và inp32.
          Nhờ bác chỉ dùm mình và cho anh em học hỏi với nha.
          Thánhk
          Trên FTP của diễn đàn điện tử có đó , em lên đó lấy cả Port.dll , inpout.dll và cả IO.dll nữa( IO dll dó hướng dẫn , mấy anh xem trên http://acmvn.netfirms.com/dll.html) , mấy anh lên thử coi. Sao mọi người nói portdll dùng trên XP không được nhỉ ? em dùng mà có thấy gì đâu , a` mà em chỉ mới thử bật tắt led, nhấp nháy , như trog sách của Ngô Diên Tập thôi, nhưng mà không thấy báo lỗi gì cả . Bên Diễn đàn điện tử cũng có người nói như vậy, anh ta dùng trên XP không thấy lỗi gì nên em liều mạng dùng thử nhưng thấy bình thường , hay là mức độ sử dụng của em còn đơn giản quá ?

          Comment


          • #6
            Xin chao cac bac!!!!!!!!!. Cai nay hoi lac de mot chut thay cac bac ban toi van de giao tiep em xin hoi luon

            Em dang dung VC++ de lap trinh giao tiep voi cong Com chi xuat du lieu thoi em da thiet ke xong phan giao dien.

            De thiet lap cac thanh gi em dung lenh _outp(....,.....) va _inp(...)( lam theo mau trong cuon "ky thuat ghep noi may tinh" cua Ngo Dien Tap
            bien dich ko co loi gi khi chay file EXE, khi truyen du lieu toan bi loi em ko hieu tai sao nua( doi co file ASM) Co the em chua co kinh nghiem lam viec voi cac thanh ghi tren VC++

            do vay bac nao da co kinh nghiem lap trinh tren VC cho em mot doan code o phan khoi tao thanh ghi ko ( de thiet lap che do 8 bit, baud 9600, 1 bit dung...)

            Hoac cho em mot duong link cung duoc. Xin cam on nhieu
            Dia chi cho cac Fan muon hoc Pic

            Comment


            • #7
              Nếu bạn dùng VC++ để giao tiếp qua cổng COM thì không nên dùng hàm _outp(...) và _inp(..) , trong VC++ đã có lớp dựng sẵn để giao tiếp qua COM rồi. Bạn cũng có thể vào trang này để tham khảo thêm : http://www.3ihut.net/forum/index.php?showtopic=272 .

              Comment


              • #8
                Nguyên văn bởi trungkt
                Nếu bạn dùng VC++ để giao tiếp qua cổng COM thì không nên dùng hàm _outp(...) và _inp(..) , trong VC++ đã có lớp dựng sẵn để giao tiếp qua COM rồi. Bạn cũng có thể vào trang này để tham khảo thêm : http://www.3ihut.net/forum/index.php?showtopic=272 .
                Thanks Bác nhiều lắm Link bác cung cấp rất là hay rất dễ áp dụng. Sang nay mày mò trên mạng em cũng tìm được một link khá hay cho vấn đề này post lên luôn cho anh em tham khảo

                http://www.codeproject.com/system/cserialcom.asp

                Học VC khó thật nhưng rất thú vị ( em là dân điện tử mà)
                Dia chi cho cac Fan muon hoc Pic

                Comment


                • #9
                  Bác led1312 gi ơi.
                  Bác dùng Port.dll trong VB mà xài trên XP thì không được dùng hai hàm inport và ouport đâu. Hãy sử dụng OpenCom('9600,N,8,1') và CloseCom('9600,N,8,1') thử xem.Tôi đoán Port32.dll cũng vậy??
                  Đọc VD mẫu trong sách của Ngô Diên Tập ấy.Chúc bạn thành công.

                  Comment


                  • #10
                    OK, sẽ port lại cho anh em, lâu lâu tui cũng chưa qua mục này. Có lẽ tui sẽ up lên ftp của diễn đàn picvietnam.

                    Comment


                    • #11
                      Nguyên văn bởi bay_pfiev
                      Bác led1312 gi ơi.
                      Bác dùng Port.dll trong VB mà xài trên XP thì không được dùng hai hàm inport và ouport đâu. Hãy sử dụng OpenCom('9600,N,8,1') và CloseCom('9600,N,8,1') thử xem.Tôi đoán Port32.dll cũng vậy??
                      Đọc VD mẫu trong sách của Ngô Diên Tập ấy.Chúc bạn thành công.
                      dùng Port.dll mà không dùng hai hàm in và out thì bạn dùng port.dll làm gì vậy ?

                      Comment


                      • #12
                        Neu chi su dung cong COM thi port.dll ho tro tot trong winxp. Con dung cong may in thi dung inout32.dll

                        Comment


                        • #13
                          Nè, ai muốn lấy Port.dll cho Win XP thì vào đây:
                          http://www.b-kainka.de/download.htm

                          Comment


                          • #14
                            đố anh em lam sao biet???

                            lam sao biet duoc xung nhip cua xtal noi vao` 8250(16550.....) cua coputer minh` khi giao tiep rs232
                            chac may bay^ gio` ko the la` 184322... gi` do duoc
                            chi~ đố cho vui chứ cần mấy Đại huynh giúp đỡ
                            thankk

                            Comment


                            • #15
                              Nguyên văn bởi mafd_47
                              Xin chao cac bac!!!!!!!!!. Cai nay hoi lac de mot chut thay cac bac ban toi van de giao tiep em xin hoi luon

                              Em dang dung VC++ de lap trinh giao tiep voi cong Com chi xuat du lieu thoi em da thiet ke xong phan giao dien.

                              De thiet lap cac thanh gi em dung lenh _outp(....,.....) va _inp(...)( lam theo mau trong cuon "ky thuat ghep noi may tinh" cua Ngo Dien Tap
                              bien dich ko co loi gi khi chay file EXE, khi truyen du lieu toan bi loi em ko hieu tai sao nua( doi co file ASM) Co the em chua co kinh nghiem lam viec voi cac thanh ghi tren VC++

                              do vay bac nao da co kinh nghiem lap trinh tren VC cho em mot doan code o phan khoi tao thanh ghi ko ( de thiet lap che do 8 bit, baud 9600, 1 bit dung...)

                              Hoac cho em mot duong link cung duoc. Xin cam on nhieu

                              thằng VC++ nó có sẵn bộ MSCOM componet rồi cậu add vào là xong
                              rất tiện lợi khỏi cần phải portdll làm gì phần lớn mình vẫn hay dùng cái này để lập trình giao tiếp máy tính
                              SHARE KHO PHIM LỚN

                              Comment

                              Về tác giả

                              Collapse

                              ATYLA Tìm hiểu thêm về ATYLA

                              Bài viết mới nhất

                              Collapse

                              Đang tải...
                              X