PDA

View Full Version : thắc mắc( đang cần gấp)


nguoimatri
20-01-2008, 05:51 PM
Các bạn kiểm tra cho mình đoạn Code này cái :

#include <iostream.h>
#include <conio.h>
#include <dos.h>
void main(){
int n;
clrscr();
cout<<"Nhap n=\n";
cin>>n;
outportb(0x37A,0xff); // 37Ah là địa chỉ thanh ghi điều khiển cổng LPT
outportb(0x378,n%256); // 378h là địa chỉ thanh ghi số liệu Cổng LPT
outportb(0x378,n>>8);
getch();
}


không hiểu chương trình có gì sai không mà khi em nhập n=0 thì đáng ra điện áp đo được trên các chân của thanh ghi số liệu phải =0 thì nó lại là 3.5V.Và con số 3.5V chả thay đổi kể cả khi em thôi không chạy đoạn Code trên nữa

bien_van_khat
21-01-2008, 10:11 AM
Mình nghĩ bạn đang dùng TC. Trên windows 2K/XP, ứng dụng của người dùng ko được quyền truy xuất trực tiếp phần cứng, do đó hàm outport ko thể xuất dữ liệu ra cổng LPT được, bạn có thể đoán thấy điều này vì macro outportb khai báo trong file dos.h

Để truy xuất cổng LPT trên windows XP bạn có thể tìm các DLL có sẵn trên mạng, ví dụ PORT32.DLL.