关于串口的应用开发

charlie790801 2006-12-19 06:30:50
在mobile下,写了一个串口的应用,主要功能是打开串口,然后设置串口属性,发送数据,然后在pc机上HyperTerminal用HyperTerminal来接收文件。
当我的文件使用文本文件的时候,HyperTerminal能够正确地接收,而文件是其他二进制流,比如说.rar的文件,发送给Pc,HyperTerminal接收下来,用Araxis Merge 工具比较,每次测试都不一样,甚至文件大小都差别非常大。

我这里面的程序是固定的,待发送的文件名固定,所以我想发送什么文件,都是把该文件改成指定的文件名称。我怀疑是串口的设置,是不是有什么特殊的地方。


我得代码实现如下:
dcb.DCBlength = sizeof( DCB );

GetCommState( m_hIDComDev, &dcb );
dcb.BaudRate = nBaud;
dcb.fBinary = TRUE; //? 这个参数是否影响。
dcb.fParity = FALSE;
dcb.fOutxCtsFlow = TRUE;
dcb.fRtsControl = RTS_CONTROL_DISABLE;//RTS_CONTROL_HANDSHAKE;
dcb.fOutX = FALSE;
dcb.fInX = FALSE;
dcb.fOutxDsrFlow = FALSE;
dcb.fDsrSensitivity = FALSE;
dcb.fDtrControl = DTR_CONTROL_DISABLE;//DTR_CONTROL_ENABLE;
dcb.fTXContinueOnXoff = FALSE;
dcb.fErrorChar = FALSE;
dcb.fNull = FALSE;
dcb.fAbortOnError = TRUE;
dcb.ByteSize = 8;
dcb.Parity = NOPARITY;
dcb.StopBits = ONESTOPBIT;
dcb.XonChar = 0x11;
dcb.XoffChar = 0x13;
dcb.XonLim = 3000;
dcb.XoffLim = 9000;
SetCommState( m_hIDComDev, &dcb );
...全文
125 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
charlie790801 2006-12-22
  • 打赏
  • 举报
回复
HyperTerminal对于文件的接收,采用xmondem, zmodem, 不是rawdata.
charlie790801 2006-12-22
  • 打赏
  • 举报
回复
HyperTerminal对于文件的接收,采用xmondem, zmodem, 不是lorddata.

7,655

社区成员

发帖
与我相关
我的任务
社区描述
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
社区管理员
  • Windows客户端开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧