- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- laskr99: Processzor és videokártya szilícium mag fotók újratöltve!
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- btz: Internet fejlesztés országosan!
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- koxx: Az e-sport napistenének ajándéka: Lamzu Inca gamer egér
- Meggyi001: RTX 5060 - Az új népkártya?
- bitpork: Phautós tali a Balcsinál 2025 Augusztus 2 napján (szombat)
Hirdetés
Köszönjük a sok biztatást, támogatást! Utolsó pillanat a féláras hirdetésfeladásra, előfizetésre!
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
- Formula-1
- Autós kamerák
- Gaming notebook topik
- exHWSW - Értünk mindenhez IS
- Azonnali fotós kérdések órája
- Októberben kerülnek legacy státuszba a régebbi GeForce VGA-k
- Azonnali mobilos kérdések órája
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Anglia - élmények, tapasztalatok
- TCL LCD és LED TV-k
- További aktív témák...
- Samsung Galaxy A52s 5G 128GB 6GB RAM Dual (A528) Mobiltelefon
- Ohh Lenovo ThinkPad P15 G2 Tervező Vágó Laptop -75% 15,6" i5-11500H 32/1TB RTX A2000 4GB /1 Millió/
- Uhh Lenovo ThinkPad P15 G2 Tervező Vágó Laptop -75% 15,6" i5-11500H 16/1TB RTX A2000 4GB /1 Millió/
- Call of Duty WW2 PS4 játék
- Eladó Konfig I5-10400F 32GB DDR4 256GB SSD 1TB HDD RX6600 8GB!
- Szép állapotban levő Apple iPhone 12 Pro Max 128GB / 12 hó jótállás
- BESZÁMÍTÁS! Asrock B365M i5 9600KF 16GB DDR4 250GB SSD 1TB HDD RX 5700XT 8GB Zalman N5 FSP 700W
- Gamer PC-Számítógép! Csere-Beszámítás! I7 6700 / Rog RX580 8GB / 32GB DDR4 / 500GB SSD
- LG 55G4 - 55" OLED evo - 4K 144Hz & 0.1ms - MLA Plus - 3000 Nits - NVIDIA G-Sync - FreeSync Premium
- BESZÁMÍTÁS! MSI B450M R7 1700X 16GB DDR4 128GB SSD 1TB HDD GTX 1650 Super 4GB Zalman T7 Chieftec 400
Állásajánlatok
Cég: FOTC
Város: Budapest