用C++做串口通讯,缓冲区里有很多数据,但readfile只能读到开头的一部分

刚刚学习,望大神不吝赐教,主函数代码如下:
int main()
{
HANDLE hCom;
hCom = CreateFile(L"COM3",//COM1口
GENERIC_READ | GENERIC_WRITE, //允许读和写
0, //独占方式
NULL,
OPEN_EXISTING, //打开而不是创建
0, //同步方式
NULL);
if (hCom == (HANDLE)-1)
{
cout << "打开COM失败!"<<endl;
return FALSE;
}
else {
cout << "打开COM成功!"<<endl;
}

SetupComm(hCom, 1024, 1024);

DCB dcb;
GetCommState(hCom, &dcb);
dcb.BaudRate = 9600; //波特率为9600
dcb.ByteSize = 8; //每个字节有8位
dcb.Parity = NOPARITY; //无奇偶校验位
dcb.StopBits = TWOSTOPBITS; //两个停止位
SetCommState(hCom, &dcb);

char str[1000];
char dst[1000];
memset(str, '\0', 100);
DWORD wCount = 100;//读取的字节数
BOOL bReadStat;
bReadStat = ReadFile(hCom, str, wCount, &wCount, NULL);
if (!bReadStat) {
    cout << "读串口失败!"<<endl;

}
else {
    cout << "读串口成功!"<<endl;
}


Ascii2Hex(str,dst);

cout<< dst<<endl;

cout << "实际收到的数据个数:" <<dec<< wCount << '\n';

return 0;

}

串口助手收到的数据如图:et/upload/201707/29/1501310457_107315.png)

串口调试助手收到的如图
自己的程序如图

你得去循环读取,想要读到100个但是不一定能读这么多