Hej
Du kan se www.beyondlogic.org
eller hvis det er i dos / linux kan du bruge kode
byte t; // kan godt være dette skal være en int
outportb(0x378,0); // udskriver 0 til printeren
outportb(0x378,0xff); // udskriver 255 til printeren
t=inportb(0x378); // indlæser byte fra 0x378
outport = outpb
inport = inpb
I Windows bruges API-kaldet "CreateFile"
Ellers vil jeg råde dig til at bruge programmet WinDriver til at lave koden for dig. Kaldes vist også "Jugo".
Mvh
Janus
P.s Seriel porten har adr 0x3f8 og 0x2f8 normal (kan ændres). Disse adresser kan aflæses i bios. (Kan gøres i C, eller blot manuelt)
Prøv at læse emnet og teksten. Det er en Internet port der snakkes om.
Følgende kode opretter en forbindelse til www.udvikleren.dk port 80 og læser løs til forbindelsen droppes:
#include <winsock2.h>
#include <iostream>
#include <string>
using namespace std;
int main(int argc, char ** argv)
{
WORD version;
WSADATA wsaData;
SOCKET mySocket;
struct hostent * hostAddr;
struct sockaddr_in address;
int len;
char * getrequest = "GET / HTTP/1.1\\r\\nHost: www.udvikleren.dk\\r\\nConnection: close\\r\\n\\r\\n";
char buffer[256];
version = MAKEWORD(2,2);
if(WSAStartup(version,&wsaData) != 0)
{
cerr << "Could not initialize Winsock." << endl;
return -1;
}
mySocket = socket(AF_INET, //Internet address family
SOCK_STREAM, //TCP socket
0 //Let Windows choose protocol
);
if(mySocket == 0)
{
cerr << "Could not get socket." << endl;
WSACleanup();
return -1;
}
hostAddr = gethostbyname("www.udvikleren.dk");
if(hostAddr == NULL)
{
cerr << "Could not get host information on www.udvikleren.dk." << endl;
WSACleanup();
return -1;
}
address.sin_family = AF_INET;//Internet address
address.sin_port = htons(80);//Port 80 for HTTP
address.sin_addr.s_addr=*((unsigned long *) hostAddr->h_addr);
if(connect(mySocket,(struct sockaddr*)&address, sizeof(address)) == SOCKET_ERROR)
{
cout << "Could not connect to host." << endl;
WSACleanup();
return -1;
}
//Send GET request
send(mySocket,getrequest,strlen(getrequest),0);
memset(buffer,0,sizeof(buffer));
while((len = recv(mySocket,buffer,sizeof(buffer),0)) > 0)
{
cout << buffer;
memset(buffer,0,sizeof(buffer));
}
if(len == SOCKET_ERROR)
{
cerr << "Error reading from socket." << endl;
WSACleanup();
return -1;
}
closesocket(mySocket);
WSACleanup();
return 0;
}
Ikke det smukkeste kode, men det illustrerer da, hvordan det skal gøres. Spørg Google om en tutorial om Winsock programmering så får du nok hvad du leder efter. Ovensående kode skal lænkes med ws2_32.lib for at virke.