- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- lezso6: Nem látszik a kurzor Chrome alatt a beviteli mezőkben?
- bitpork: MOD Júni 13 Augusztus 2- szombat jelen állás szerint.
- Parci: Milyen mosógépet vegyek?
- Elektromos rásegítésű kerékpárok
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- Magga: PLEX: multimédia az egész lakásban
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
Hirdetés
- ÁRGARANCIA! Épített KomPhone i5 14400F 32/64GB DDR5 RTX 5060Ti 8GB GAMER PC termékbeszámítással
- Telefon felvásárlás!! Apple iPhone 16, Apple iPhone 16e, Apple iPhone 16 Plus, Apple iPhone 16 Pro
- LG 39GS95UE - 39" Ívelt OLED / QHD 2K / 240Hz & 0.03ms / 1300 Nits / NVIDIA G-Sync / AMD FreeSync
- BESZÁMÍTÁS! Asus ROG Flow Z13 + ROG XG RTX 3070 - i9 12900H 16GB DDR5 RAM 1TB SSD + RTX 3070 8GB WIN
- Csere-Beszámítás! Ryzen 9 9950X Processzor!
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged