|
我用串口通信,自定义at命令,用rmmi_write_to_uart函数传送320*240*2这么大的数据到pc端,但是用一个串口监视工具,发现pc端接受的数据只有10k不到,请问下这有可能是什么原因造成的,是因为uart Tx ring buffe大小的限制,还是pc端串口通信建立设置的问题.
下面是我在pc端建立建立的串口通信的几个关键函数和接受数据的代码:
m_hComm = CreateFile(COMPORT, GENERIC_READ | GENERIC_WRITE, FILE_SHARE_WRITE | FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_FLAG_OVERLAPPED | FILE_ATTRIBUTE_NORMAL, NULL);
SetupComm(m_hComm, 16384, 16384);
while (total_recv < limage_size)
{
int recv_byte = Read(offset, limage_size - total_recv );//read为封装了ReadFile函数
ATLTRACE(L"GrabImage: recv_byte - %d total: %d\r\n", recv_byte, total_recv);
if (recv_byte <= 0)
{
break;
}
total_recv += recv_byte;
offset = (image_buff+total_recv);
}
麻烦请各位高手,指教下小弟,十分感激. |
|