+ -
当前位置:首页 → 问答吧 → 串口发送问题,怎么通过通过串口发送大约10M的数据?

串口发送问题,怎么通过通过串口发送大约10M的数据?

时间:2011-12-22

来源:互联网

如题,串口发送程序该怎么来写呢?
自己写的好像只能发送4096字节的数据就终止。这是什么原因?

这是我的程序
void CCommDlg::OnButtonSendm() 
{
// TODO: Add your control notification handler code here
CString strSend;

if(m_nInputMode > 1) //16进制发送
{
CByteArray hexdata;
int len=String2Hex(m_strSendString ,hexdata);
myComm.SetOutput(COleVariant(hexdata));
  TX_count+=(long)((m_strSendString.GetLength()+1)/3);
}
else
myComm.SetOutput(COleVariant(m_strSendString));//发送数据

CString strTemp;
strTemp.Format("TX:%d",TX_count);
m_ctrlTXCount.SetWindowText(strTemp);

}

作者: forever1820   发布时间: 2011-12-22

最好用串口通信的饿API来做。
最好把10M数据拆分,放到线程中分多次发送。

作者: Vector_fz   发布时间: 2011-12-22

看看你的串口的写缓冲区设置的多大,在设备管理器中可以查看。
串口写数据一般是按字节发送或分包发送。

作者: chayedanwc   发布时间: 2011-12-22