1. THÔNG BÁO TUYỂN ADMIN DIỄN ĐÀN 2013
    Tìm kiếm nhà trọ - Ở ghép
    THÔNG BÁO BÁN ÁO SPKT.NET CHO THÀNH VIÊN DIỄN ĐÀN


    HÃY TÌM KIẾM Ở ĐÂY TRƯỚC KHI ĐẶT CÂU HỎI
    {xen:phrase loading}

[SOFT] Porttalk

Thảo luận trong 'ĐĐT08' bắt đầu bởi chanhvan08, 18 Tháng mười một 2009.

  1. chanhvan08 New Member

    Số bài viết: 384
    Đã được thích: 0
    Điểm thành tích: 0
    Anh em điện- điện tử thân mến! Như mọi người đã biết, Win NT không cho phép truy xuất dữ liệu trực tiếp qua cổng máy in khi chúng ta chạy các chương trình C mà mình đã viết. Giải pháp cho bạn là gì? Một số bạn viết trên DOS, ưu điểm của phương pháp này là code cực kì đơn giản, đơn giản như...cua gái vậy! :ThumbsUp::ThumbsUp::ThumbsUp:. Tuy nhiên cái gì cũng có hai mặt, có ưu thì phải có khuyết, khuyết điểm của nó là mỗi lần đang chạy chương trình bằng đĩa Boot, nếu chuơng trình chạy không theo ý muốn hoặc bạn muốn sửa lại code cho hay hơn thì cũng là lúc bạn phải gõ câu lệnh reboot, khởi động lại máy tính (----------->>>>>>>>>>>>>chán). Vậy giải pháp thứ hai là gì? đây là lúc chúng ta phải nhờ cậy đến Porttalk, đây là một driver mở I/O, cho phép chúng ta chạy chương trình trực tiếp trên Win như xưa nay bạn vẫn làm.
    Việc đầu tiên bạn phải làm là tải driver porttalk về máy tính của mình, địa chỉ tải mình có up lên đây: http://www.mediafire.com/?q2oltzgqloj
    Sau khi tải về, bạn tạo một thư mục rồi giải nén vào trong đó.
    Bước tiếp theo bạn copy file porttalk.sys (porttalk system file) vào trong thư mục C:\windows\system32\drivers.
    Kế đến, bạn mở DOS ảo có tích hợp sẵn trên win bằng cách Start/programs/accessories/ command prompt.
    để thuận tiện cho việc cài driver, bạn nên copy file Allowio.exe ra một địa chỉ cấp 1, ví dụ bạn copy vào ổ D, đường dẫn của file này sẽ là d:\allowio.
    trên nền DOS,bạn đổi ổ đĩa sang D (d: enter),
    sau đó gõ vào câu lệnh: d:\allowio 0x42 0x43 0x61 beep.exe -> nhấn enter)
    Vậy là công viêc cài đặt Driver của bạn đã xong.
    Tuy nhiên Code chạy trên win sẽ khác đôi chút ở phần khởi tạo thư viện, vì vậy nếu bạn muốn viết được chương trình trên Win thì phải tạo thư viện cho nó đã, các thư viện này đều có trong thư muc Porttalk cả, sau đây mình sẽ hướng dẫn cho các bạn cách khởi tạo một chương trình.
    việc của bạn là copy 2 thư viện Porttalk_IOCTL.h (nằm trong thư mục chính) và pt_IOCTL.c (nằm trong thư mục con IOExample) vào trong nơi chứa thư viện của phần mềm bạn dùng để viết C, thường thì thư mục này có tên là include, ví dụ, mình đang dùng Borland C 5.02 for windows thì thư mục chứa các thư viện là Include. Vậy là bước tạo thư viện đã xong, bây giờ đến công đoạn chính của chúng ta là viết code chạy trên win.
    Chạy trên win thì bạn khai báo thư viện windows.h thay vì dos.h . Cũng chính vì thế nên bạn hông thể sử dụng hàm delay, thay vào đó bạn có thể viết một hàm con khác thay cho nó, đó là hàm sleep.
    Thôi, không vòng vo mãi nữa. Đây là code mẫu cho đề tài C mà chúng ta sắp phải nộp, nhiệm vụ của bạn là viết code vào phần chính mà thôi ( phần này hoàn toàn giống bên DOS, nhưng thay delay bằng sleep).các thư viện la stdio.h, conio.h, windows.h, time.h,pt_ioctl.c
    #include<STDIO.H><STDIO.H><STDIO.H>
    #include<CONIO.H><CONIO.H><CONIO.H>

    #include<WINDOWS.H>
    <WINDOWS.H>


    #include
    <WINDOWS.H>

    #include<TIME.H><TIME.H><TIME.H>
    void sleep( clock_t wait )
    {
    clock_t goal;
    goal = wait + clock();
    while( goal > clock() )
    ;
    }
    void main()
    {
    OpenPortTalk();
    // phần của các bạn//;
    ClosePortTalk();
    }

    Xong----------------->>>>>>bấm dịch rồi chạy chuơng trình và chiêm ngưỡng mạch của các bạn chạy như thế nào.
    Nếu thấy hay thì nhớ bấm Thanks dùm nha! hihi.<--->
  2. baoloc New Member

    Số bài viết: 1
    Đã được thích: 0
    Điểm thành tích: 0

Chia sẻ trang này