Hirdetés
- ASUS Maximus VIII Ranger Z170 6-7-8-9-10 gen támogatás (Coffeetime mod)
- DFI és DFI Lanparty gyűjteményem
- Möbelix Milan íróasztal - a tapasztalatok összeszerelés után
- Keychron V6 Max (HU) Mechanikus vezetéknélküli billentyűzet (Bluetooth, RF, USB)
- Újjászületés: szombattól új szerverkörnyezetben a PROHARDVER!
- Luck Dragon: Asszociációs játék. :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- lionhearted: Telekom TV Mikrotikkel
- gban: Ingyen kellene, de tegnapra
- Gátoljuk meg játékaink halálát!
- eBay-es kütyük kis pénzért
- Brogyi: CTEK akkumulátor töltő és másolatai
- Victoryus: Hp T630 thin client, htpc
Aktív témák
-
ftc
nagyúr
Kis segitésg kellene:Van egy progi ami 2 gép közötti soros komunikáciot biztositja .Ha hyperterminálon van az egyik gép akkor hülyeségeket ir ki.Beirom az egész progit,ha valaki tud segitsen.
#include<stdio.h>
#include<windows.h>
#include<conio.h>
void menu(HANDLE hPort);
int chat(HANDLE hPort);
void set_port(HANDLE hPort);
void wiev(HANDLE hPort);
void time(HANDLE hPort);
void vysielanie(HANDLE hPort);
void primanie(HANDLE hPort);
bool IsKeyPressed(int virtualKey);
void main()
{
HANDLE hPort;
hPort = CreateFile(''COM1:'', GENERIC_READ | GENERIC_WRITE, 0,NULL,OPEN_EXISTING, 0, NULL);
if ( hPort == INVALID_HANDLE_VALUE )
printf(''Port sa neda otvorit\n'');
else
printf(''Port je otvoreny\n'');
time(hPort);
menu(hPort);
CloseHandle(hPort);
}
void menu(HANDLE hPort)
{
printf(''Manual: 1 - Chat 2 - Set port 3 - Actual set port 4 - Quit'');
while(1)
{
printf(''\n\nVolba?'');
switch (getch())
{
case '1':
chat(hPort); break;
case '2':
set_port(hPort); break;
case '3':
wiev(hPort); break;
case '4':
goto END; break;
default: printf(''\nZla volba!!'');break;
}
}
printf(''Koniec'');
END:;
}
void time(HANDLE hPort)
{
COMMTIMEOUTS timeouts;
timeouts.ReadIntervalTimeout = 20;
timeouts.ReadTotalTimeoutMultiplier = 10;
timeouts.ReadTotalTimeoutConstant = 100;
timeouts.WriteTotalTimeoutMultiplier = 10;
timeouts.ReadTotalTimeoutConstant = 100;
if (!SetCommTimeouts(hPort,&timeouts))
printf(''Chyba: Timeouty nenastavene.\n\n'');
// a asi exit...
else
printf(''OK,Timeouty nastavene \n\n'');
}
void set_port(HANDLE hPort)
{
DCB PortDCB;
PortDCB.DCBlength = sizeof(DCB);
GetCommState(hPort,&PortDCB);
printf(''\n\nSet port:'');
printf(''\nZadaj BaudRate: '');
scanf(''%d'',&PortDCB.BaudRate);
printf(''Zadaj ByteSize: '');
scanf(''%d'',&PortDCB.ByteSize);
printf(''Zadaj StopBits: '');
scanf(''%d'',&PortDCB.StopBits);
printf(''Zadaj Parity: '');
scanf(''%d'',&PortDCB.Parity);
if(!SetCommState(hPort,&PortDCB))
printf(''\nPort sa neda nakonfigurovat'');
else printf(''\nPort je nakonfigurovany\n'');
}
void wiev(HANDLE hPort)
{
DCB PortDCB;
PortDCB.DCBlength = sizeof(PortDCB);
GetCommState(hPort,&PortDCB);
printf(''\n\nActual set port:'');
printf(''\nBaudrate %d'',PortDCB.BaudRate);
printf(''\nByteSize %d'',PortDCB.ByteSize);
printf(''\nStopBits %d'',PortDCB.StopBits);
printf(''\nParity %d'',PortDCB.Parity);
printf(''\n'');
}
int chat(HANDLE hPort)
{
printf(''\n\nChat:\n'');
unsigned char Data;
PurgeComm(hPort,PURGE_TXCLEAR | PURGE_RXCLEAR);
DWORD d;
while(1)
{
Data=0;
ReadFile(hPort,&Data,1,&d,NULL);
if(Data==0 && IsKeyPressed(VK_SHIFT))
vysielanie(hPort);
if(Data!=0)
primanie(hPort);
//Data=0;
if (IsKeyPressed(VK_ESCAPE)) // Klavesa VK_ESCAPE konci program
{
printf(''Escape!! \n'');
getch();
return(1);
}
}
return(1);
}
void vysielanie(HANDLE hPort)
{
printf(''\nVysielas:\n'');
DWORD i=0,b=0;
DWORD pocet=0;
unsigned char posielam='a';
char a[40];
gets(a);
b=strlen(a);
WriteFile(hPort,&posielam,1, &pocet/*smernik*/,NULL);
Sleep(9);
while(i<(b+1))
{
posielam=a;
WriteFile(hPort,&posielam,1, &pocet/*smernik*/,NULL);
i++;
if( pocet != 1 ) printf(''\nSprava neodoslana!!'');
pocet=0;
}
}
void primanie(HANDLE hPort)
{
printf(''\nPrimam:\n'');
DWORD Pocet=0; // Počet prijatých dát
unsigned char Data,a[40]; // Sem ulož prijatý znak
DWORD i=0,j=0;
PurgeComm(hPort,PURGE_TXCLEAR | PURGE_RXCLEAR);
while(a[j]!='\0')
{
ReadFile(
hPort, // Handle portu, z ktorého čítame
&Data, // Pointer na buffer, kam ukladáme prijaté dáta
1, // Počet bytov, na ktoré čakáme
&Pocet, // Pointer na skutočný počet prijatých dát
NULL); // Musí byť NULL
// Funkcia ReadFile tu teraz čaká, až kým niečo
// nepríde, ale môže aj skončiť bez zachyteného znaku,
// ak medzitým vypršia timeouty.
a=Data;
a[i+1]='\0';
i++;
j=i-1;
printf(''%c'',Data);
if( Pocet != Data ) // Ak počet prenesených dát nesúhlasí
printf(''\n Chyba: Sprava neprisla!!'');
Pocet=0;
}
printf(''\n'');
}
/* ************************************************************************** */
/* */
/* Funkcia IsKeyPressed(int virtualKey) */
/* Je prave stlacena klavesa virtualKey? 0 nie, 1 ano */
/* */
/* ************************************************************************** */
bool IsKeyPressed(int virtualKey)
{
return ((GetAsyncKeyState(virtualKey)&0x8000)!=0?true:false);
}
Aktív témák
- Luck Dragon: Asszociációs játék. :)
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- Renault, Dacia topik
- Elektromos autók - motorok
- Apple iPhone Air - almacsutka
- A fociról könnyedén, egy baráti társaságban
- Emelkedik a korábbi generációs Intel CPU-k ára
- Call of Duty: Black Ops 7
- Fejhallgató erősítő és DAC topik
- Windows 11
- További aktív témák...
- RÉSZLETFIZETÉS.BANKMENTES.KAMATMENTES.. Új noblechairs Epic valódi bőr FEKETE - FEHÉR
- RAKTÁRSÖPRÉS!!! - Videókártyák, Monitorok, Notebookok, Stb. - Szaküzletből! Számlával!
- Vállalom Xiaomi Okoskamerák szoftveres javíttását
- Azonnali készpénzes GAMER / üzleti notebook felvásárlás személyesen / csomagküldéssel korrekt áron
- ÚJ HP OmniBook Ultra Flip 14"OLED 2,8 K 120Hz - Ultra 7 256V - 16GB - 1TB - 2,5 év gari - MAGYAR
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest