Re: Serial thread continued
On Aug 15, 3:41 pm, Kahlua <edward.freder...@verizon.net> wrote:
On Aug 15, 6:34 pm, Kahlua <edward.freder...@verizon.net> wrote:
Below is my Serial thread:
---------------------------------------------------------------------
UINT SerialThread( LPVOID Param ) //Thread to monitor serial activity
{
char ed[10]; //for testing =
only
unsigned char chread;
DWORD dwRead;
DWORD dwEventMask;
if(!SetCommMask(hCom, EV_RXCHAR))
AfxMessageBox("Error setting ComMask");
if(WaitCommEvent(hCom, &dwEventMask, NULL)){
ReadFile (hCom, &chread, 1, &dwRead, NULL);
_itoa(chread, ed, 16); //for testing only
AfxMessageBox(ed); //for testing only
}
return TRUE;
}
---------------------------------------------------------------------
hCom is the comport handle.
chread is the byte returned.
The following 2 lines are only there to see what char was returned.
They will NOT be in the final routine.....
_itoa(chread, ed, 16);
AfxMessageBox(ed);
The routine does respond and the messagebox shows the byte that came
in.
BUT, the byte is not what was sent!
Any ideas??
I forgot to mention that the byte received is allways 32h no matter
what chat is sent to it...- Hide quoted text -
- Show quoted text -
Are you certain that you are showing the actual code? The _itoa()
function expects an int as its first parameter, but you have given it
an unsigned char. I am surprised that this would compile.
Maybe you should try something like this instead, and then do your own
conversion to base 16
sprintf( ed, "%c", chread);