使用C99中的ReadFile函数从串口读取数据

时间:2016-04-13 07:50:10

标签: c winapi serial-port c99

我需要使用串口发送数据,我有一点问题。当我使用ReadFile函数接收数据时,任何数据都将作为signed char而不是unsigned。

我的数据以HEX发送

0 - 7
1 - 8f
2 - 54
3 - 59
4 - 50
5 - 1
6 - 6b
7 - ff

终端收到的检查任何位的数据发送正确 Data received by Terminal v 1.9

程序使用ReadFile

收到的数据
0 - 7
1 - f
2 - 54
3 - 59
4 - 50
5 - 1
6 - 6b
7 - 7f

文件处理程序

HANDLE hComm;
hComm = CreateFile(
    p_port, GENERIC_WRITE | GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL
);

从串口读取数据的功能

void
getMessage(HANDLE hComm, unsigned char * dataStorage, int storageSize)
{
    DWORD dNoBytesToRead;
    ReadFile(hComm, dataStorage, storageSize, &dNoBytesToRead, NULL);
}

编辑:这不是WinApi的问题。 https://github.com/Draqun/WinApiSerialPortExample - 示例项目显示。

0 个答案:

没有答案