这两天在写一个win32程序读串口数据并绘图。新手,有几点疑惑想请教大家。
1.readfile函数,BOOL ReadFile(
HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead, LPOVERLAPPED lpOverlapped ); 第二个参数,应该是一个可以为任意类型的指针吧。不是一定要是字节指针吧。也就是说如果我开辟了一个16位字数组,那这个指针就可以写成字指针吗?
2.串口接收是按字节接收的,可是我发送的数据是16位的,那怎么才能接收到正确的16位?按之前网上说的,设置数据包的格式,首先传送包头,包头匹配再继续发送。我按照这个写了程序测试,发现他数据刚开始是16位正确的,过了几个就又错了。这是为什么啊!!
3.关于串口缓存区,输入缓存区满后再有数据输入,是就输入不进来了吗还是覆盖?
4.还有关于串口通信的,我发送端每隔一定时间发送数据,PC端是可以直接读取的吧,不要握手吧
刚开始学,觉得很困惑,也做了一些简单地实验,希望有人可以解答。谢谢! |