1. |
Re: serial (mind) |
33 sor |
(cikkei) |
2. |
PS/PS2 programozas (OT?) (mind) |
15 sor |
(cikkei) |
3. |
adatbazis (mind) |
7 sor |
(cikkei) |
4. |
Re: nincs megallas - koszonet (mind) |
7 sor |
(cikkei) |
5. |
arc koordináták (mind) |
12 sor |
(cikkei) |
6. |
Re: serial (mind) |
18 sor |
(cikkei) |
7. |
Temakor: serial (mind) |
52 sor |
(cikkei) |
8. |
Re: serial (mind) |
91 sor |
(cikkei) |
9. |
Re: serial (mind) |
5 sor |
(cikkei) |
|
+ - | Re: serial (mind) |
VÁLASZ |
Feladó: (cikkei)
|
---
!!! Valasz / Antworten / Reply-to !!!
---
> Sziasztok!
> A promblemam a kovetkezo lenne!
> Win2000 es XP alatt kellene olyan c++ fv, amely megmondja,hogy van-e
> bejovo adat valamelyik soros porton.
Hello!
"Azt ugy szoktuk csinalni"... :)) hogy inditunk egy thread-et, ami vagy "all
benne" a ReadFile(...) fuggvenyben (egyszerubb megoldas) vagy
WaitForSingleEvent,(...) INFINITE opcio es ezzel var egy serial porton
bekovetkezendo esemenyre, majd szinten ReadFile(...). (uri megoldas) Ez a
thread egy globalis ring-buffer-be pakolja, a byte-okat, amiket vett a soros
porton. A program a megfelelo helyen pedig egy olyan Receive(...), (vagy
mittomenmilyennevuamitakarsz) fuggvenyt hivogat, ami ezt a globalis buffert
vizsgalgatja, (marmint, hogy van-e benne adat) es ad vissza esetleges
byte-okat a bufferbol, vagy nem, de visszater mindenkeppen.
Ha mar a Winfosch allitolag multithread operacios rendszer, akkor ime:
hasznaljuk ki!
Ilyen es hasonlo megoldasokkal tele van az Internet, (de szep kepzavar) de
ha igazi programozo vagy, es mint ilyen pont kellokeppen lusta :)) es nem
akarod magad megoldani azt, amit mas mar megcsinalt, :)) akkor irj maganban,
kuldok neked source-t.
Udv:
Robi
---
!!! Valasz / Antworten / Reply-to !!!
---
|
+ - | PS/PS2 programozas (OT?) (mind) |
VÁLASZ |
Feladó: (cikkei)
|
---
!!! Valasz / Antworten / Reply-to !!!
---
Hello Lista!
Lehet, hogy kicsit OT, de van valakinek otlete, hogyan lehetne Sony PS/PS2
kod fejlesztesbe belefogni? Gondolok itt fejlesztorendszer, hardware
specifikacio beszerzesere stb.
Megprobaltam a Sony-nal elindulni ezen a vonalon, de egyelore zsakutca.
Udv:
Robi
---
!!! Valasz / Antworten / Reply-to !!!
---
|
+ - | adatbazis (mind) |
VÁLASZ |
Feladó: (cikkei)
|
hello, szuksegem lenne egy egyszeru dinamikus adatbazis forraskodjara c++ ban,
dos, grafikus felulet nelkul, egyszeru szoveges volna a legjobb. Legyszi, fonto
s, koszi, Viktor.
________
Cely svet na jednom mieste!
http://cestovanie.sme.sk
|
+ - | Re: nincs megallas - koszonet (mind) |
VÁLASZ |
Feladó: (cikkei)
|
Hihetetlen hogy hol talállak meg Ősike !
Látszik régen jártam már ezen a portálon.
Beugrik hogy ki vagyok?.
A bit fénye fejtse ki rád jótékony hatását.
Szabolcs
(webes bekuldes, a bekuldo gepe: 193.224.81.193)
|
+ - | arc koordináták (mind) |
VÁLASZ |
Feladó: (cikkei)
|
Sziasztok Coderek,
valamikor a 80-as években jelent meg a Scientific American egyik magyarnyelv&
#369; számában, a számítógépes észjáték rovatban egy cikk. A cikkben emberi arc
ok összehasonlításával, egymásba morpholásával, karikatúra készítés lehető
ségeiről írt. Ebben volt egy táblázat, mely az összehasonlítás alapját kép
ezte. Az emberi arc jellegzetes pontjainak koordinátáit tartalmazta. Erre a táb
lázatra lenne szükségem. Tud valaki nekem segíteni?
Oros Imre
(webes bekuldes, a bekuldo gepe: line-152-35.dial.matav.net)
|
+ - | Re: serial (mind) |
VÁLASZ |
Feladó: (cikkei)
|
> Sziasztok!
> A promblemam a kovetkezo lenne!
> Win2000 es XP alatt kellene olyan c++ fv, amely megmondja,hogy van-e
> bejovo adat valamelyik soros porton.
>
> (Ha ReadFile-t hasznalom ugy, hogy nem volt bejovo adat,akkor az addig
> var amig nem jon be valami!!!)
>
> Valaszokat elore koszonom!!!
Hali!
Használd a ClearCommError API függvényt, ezzel lekérdezheted, hogy
mennyi byte van a a bufferben, akár ciklikusan is hívogathatod, de a
portnak nálad kell lennie!
hi,
Doma
|
+ - | Temakor: serial (mind) |
VÁLASZ |
Feladó: (cikkei)
|
>> Win2000 es XP alatt kellene olyan c++ fv, amely megmondja,hogy van-e
>> bejovo adat valamelyik soros porton.
C++ helyett megteszi WinAPI ?
MSDN/Platform_SDK/Windows_Base_Service/Files_and_I/O/Communications :
The WaitCommEvent() function waits for an event to occur for a specified
communications device. The set of events that are monitored by this function
is contained in the event mask associated with the device handle.
>> addig var, amig nem jon be valami!!!
Nos, a thread-ek segithetnek ezen, de szekvencialis programozassal is
megoldhatod, a feladatodtol fugg.
Monitoring Communications Events
The following example code opens the serial port for overlapped I/O, creates
an event mask to monitor CTS and DSR signals, and then waits for an event to
occur. The WaitCommEvent function should be executed as an overlapped
operation so the other threads of the process cannot perform I/O operations
during the wait.
HANDLE hCom;
OVERLAPPED o;
BOOL fSuccess;
DWORD dwEvtMask;
hCom = CreateFile( "COM1",
GENERIC_READ | GENERIC_WRITE,
0, // exclusive access
NULL, // no security attributes
OPEN_EXISTING,
FILE_FLAG_OVERLAPPED,
NULL
);
if (hCom == INVALID_HANDLE_VALUE) { // Handle the error.
}
// Set the event mask.
fSuccess = SetCommMask(hCom, EV_CTS | EV_DSR);
if (!fSuccess) { // Handle the error.
}
// Create an event object for use in WaitCommEvent.
o.hEvent = CreateEvent(
NULL, // no security attributes
FALSE, // auto reset event
FALSE, // not signaled
NULL // no name
);
assert(o.hEvent);
if (WaitCommEvent(hCom, &dwEvtMask, &o)) {
if (dwEvtMask & EV_DSR) { // To do.
}
if (dwEvtMask & EV_CTS) { // To do.
}
}
|
+ - | Re: serial (mind) |
VÁLASZ |
Feladó: (cikkei)
|
Szia!
Nekem igy mukodik a serial olvasas/iras:
HANDLE SerialPort=INVALID_HANDLE_VALUE;
DCB SerialConf;
COMMTIMEOUTS CommTimeouts;
DWORD BytesWritten, BytesRead;
...
while(SerialPort == INVALID_HANDLE_VALUE)
{
printf("Opening port: COM%s...",Port);
SerialPort = CreateFile(COMPORT,
GENERIC_READ|GENERIC_WRITE,
0,
NULL,
OPEN_EXISTING,
0,
NULL);
if (SerialPort == INVALID_HANDLE_VALUE)
{
printf ("FAILED\r\n");
}
Sleep(3000);
}
printf("O.K.\r\n");
if (!GetCommTimeouts (SerialPort, &CommTimeouts))
{
ProcessError ("GetCommTimeouts");
CloseHandle (SerialPort);
return;
}
// Change the COMMTIMEOUTS structure settings.
CommTimeouts.ReadIntervalTimeout = MAXDWORD;
CommTimeouts.ReadTotalTimeoutMultiplier = 5;
CommTimeouts.ReadTotalTimeoutConstant = 50;
CommTimeouts.WriteTotalTimeoutMultiplier = 10;
CommTimeouts.WriteTotalTimeoutConstant = 100;
// Set the time-out parameters for all read and write
operations
// on the port.
printf("Setting up timeouts...");
if (!SetCommTimeouts (SerialPort, &CommTimeouts))
{
ProcessError ("SetCommTimeouts");
CloseHandle (SerialPort);
return;
} else { printf("O.K.\r\n"); }
// Initialize the DCBlength member.
SerialConf.DCBlength = sizeof (DCB);
printf("Configuring COM port parameters...");
// Get the default port setting information.
if (!GetCommState (SerialPort, &SerialConf))
{
ProcessError ("GetCommState");
CloseHandle (SerialPort);
return;
}
// Configure the port accordingly
SerialConf.BaudRate = BAUDRATE;
SerialConf.ByteSize = DATABITS;
SerialConf.StopBits = STOPBITS;
SerialConf.fRtsControl = FLOWCONTROL;
SerialConf.fParity = PARITY;
if (!SetCommState(SerialPort, &SerialConf))
{
ProcessError ("SetCommState");
CloseHandle (SerialPort);
return;
} else { printf("O.K.\r\n"); }
Bocs ha rosszul van indentalva, a lenyeg benne van,
innentol ha barmilyen olvasasi/irasi muveletet csinalsz, az csak a
beallitott timeoutokig torodik vele, vizsgalhatod a beolvasott/kiirt
byteok szamat hogy sikeres volt-e vagy sem.
CreateFile-nal COMPORT az egy string, peldaul "COM1:".
ProcessError az egy sajat fuggveny.
Remelem tudtam segiteni...
--
Hofferek Attila
<hofi at WiZARD dot DunaNet dot hu>
|
+ - | Re: serial (mind) |
VÁLASZ |
Feladó: (cikkei)
|
Bocs elobb nem irtam, visual c++ 6 alatt muxik mindez.
--
Hofferek Attila
<hofi at WiZARD dot DunaNet dot hu>
|
|