C++ Programering til LTP porten...

Tags:    c++ wp7 silverlight

Hej alle sammen

Jeg har set arkiklen: http://www.kandu.dk/dk/spg/56778

Og det ser da smart ud... MEN! Jeg har ingen COM port.. Men jeg har en LTP port... Kan man også programere til den? Hvordan?

Er der nogle der kan fortælle mig hvordan jeg kan lave progammet om fra arktiklen: http://www.kandu.dk/dk/spg/56778
Eller er der nogle der kan lave et program som evt: Laver et punktum hver gang der er forbindelse mellem nogle bestemte pin..

Kan det skade computeren?

Håber der er nogle kloge hovder der vil gi' sig tid til at besvare mine spørgsmål :-)

M.v.h Simon



5 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Hej simon
Du kan bruge pin 3 og 4 på LTP porten se her for at vide hvilke pins det er:

http://www.camiresearch.com/Data_Com_Basics/RS232_standard.html

Det skulle gerne virke som det samme som pin 2 og 7 på com porten!!!

Dette program derinde fra som så laver prikken:

#include <stdio.h>
#include <windows.h>

void SetTimeOut(HANDLE Port, int MSec)
{
COMMTIMEOUTS commtimeouts;
GetCommTimeouts(Port, &commtimeouts);
commtimeouts.ReadIntervalTimeout = MSec;
commtimeouts.ReadTotalTimeoutMultiplier = 1;
commtimeouts.ReadTotalTimeoutConstant = MSec;
SetCommTimeouts(Port, &commtimeouts);
}

void Rx(HANDLE Port)
{
char Buffer[128];
DWORD Length = 0;
DWORD ErrorType = 0;

ReadFile(Port, Buffer, 128, &Length, 0);
ClearCommError(Port, &ErrorType, 0);
if(Length || ErrorType)
printf("."); } int main(void)
{
DCB dcb;
HANDLE ComPort = CreateFile("COM1", GENERIC_READ | GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, 0);

GetCommState(ComPort, &dcb);
dcb.BaudRate = 9600;
dcb.ByteSize = 8;
dcb.fRtsControl = RTS_CONTROL_ENABLE;
dcb.fErrorChar = TRUE;
dcb.fParity = TRUE;
dcb.Parity = ODDPARITY;
dcb.fAbortOnError = TRUE;
dcb.fOutxCtsFlow = 1;
SetCommState(ComPort, &dcb);
SetTimeOut(ComPort, 1);

while(1)
Rx(ComPort);

CloseHandle(ComPort);

return 0;
}

Er til com porten det skal du bare have Bertel Brander til at lave om til LTP porten i stedet for det er han pisse god til! Jeg arbejder selv på at lære det men er ikke helt så god endnu!

Hilsen Johan





Er til com porten det skal du bare have Bertel Brander til at lave om til LTP porten i stedet for det er han pisse god til!


http://www.kandu.dk/dk/spg/57763



Er til com porten det skal du bare have Bertel Brander til at lave om til LTP porten i stedet for det er han pisse god til!


http://www.kandu.dk/dk/spg/57763






Oki... Men det var egenligt noget kode jeg søgte.. Hvis altså du ka' finde ud af noget....

Har jeg noget kode til f.eks. det som jeg skrev det ander program ku' så kunne jeg jo selv programere vidre...



Hej Bertel..


Jeg tænkte på om ikke man kunne ændre lidt i den til comporten?

Sådan den ser sådan her ud f.eks.?


#include <stdio.h>
#include <windows.h>

void SetTimeOut(HANDLE Port, int MSec)
{
COMMTIMEOUTS commtimeouts;
GetCommTimeouts(Port, &commtimeouts);
commtimeouts.ReadIntervalTimeout = MSec;
commtimeouts.ReadTotalTimeoutMultiplier = 1;
commtimeouts.ReadTotalTimeoutConstant = MSec;
SetCommTimeouts(Port, &commtimeouts);
}

void Rx(HANDLE Port)
{
char Buffer[128];
DWORD Length = 0;
DWORD ErrorType = 0;

ReadFile(Port, Buffer, 128, &Length, 0);
ClearCommError(Port, &ErrorType, 0);
if(Length || ErrorType)
printf("."); } int main(void)
{
DCB dcb;
HANDLE ComPort = CreateFile("LTP1", GENERIC_READ | GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, 0);

GetCommState(ComPort, &dcb);
dcb.BaudRate = 9600;
dcb.ByteSize = 8;
dcb.fRtsControl = RTS_CONTROL_ENABLE;
dcb.fErrorChar = TRUE;
dcb.fParity = TRUE;
dcb.Parity = ODDPARITY;
dcb.fAbortOnError = TRUE;
dcb.fOutxCtsFlow = 1;
SetCommState(ComPort, &dcb);
SetTimeOut(ComPort, 1);

while(1)
Rx(ComPort);

CloseHandle(ComPort);

return 0;
}



Bare et eksempel.... Er der ikke noget i stil med man kan gøre?



Det jeg lige skrev kan kompilles :D

MEN! Hvad for nogle porte skal jeg bruge? Eller skal jeg prøve mig frem? Selvom det nok vil tage lidt tid :P


Hilsen Simon




t