为什么mscomm控件只能收8个数字啊?? 第2次发的时候就把前面没发完的发过来了比如我要发"ww12345678"第一次收到"ww123456"第2次就收到"78ww123456"请问是怎么回事呀? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 感谢您使用微软产品。根据您的描述,您似乎没有考虑数据传输的时间.事实上,数据的传送是需要时间的,如果您是以同步的方式接收数据,您需要使用一个循环来接收.具体的代码,您可以参考以下文档:http://msdn.microsoft.com/library/default.asp?url=/library/en-us/comm98/html/vbobjcommx.asp?frame=true 另外,您还可以使用MSComm的OnComm事件来异步接收数据.您可以参考以下文档中的示例代码:INFO: Receiving Data Using the MSComm Control's OnComm Eventhttp://support.microsoft.com/default.aspx?scid=kb;EN-US;Q194922 - 微软全球技术中心 VB技术支持本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。为了为您创建更好的讨论环境,请参加我们的用户满意度调查(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。 感谢您使用微软产品。根据您的描述,您似乎没有考虑数据传输的时间.事实上,数据的传送是需要时间的,如果您是以同步的方式接受数据,您需要使用一个循环来接收.具体的代码,您可以参考以下文档:http://msdn.microsoft.com/library/default.asp?url=/library/en-us/comm98/html/vbobjcommx.asp?frame=true 另外,您还可以使用MSComm的OnComm事件来异步接受数据.您可以参考以下文档中的示例代码:INFO: Receiving Data Using the MSComm Control's OnComm Eventhttp://support.microsoft.com/default.aspx?scid=kb;EN-US;Q194922 - 微软全球技术中心 VB技术支持本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。为了为您创建更好的讨论环境,请参加我们的用户满意度调查(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。 设置mscomm1.RThreshold = 需要接受的字节长度 dyx(天火)谢谢现在好像以前的问题可以解决了但是好像每次接收数据完以后缓冲区好像还有数据,怎么才能把这些数据清除掉啊? MSComm1.InputLen=8设置每次由串行端口读入的字符串长度或字节个数。如果缓冲区有大于8个的字符,则只读入8个字符,其它的等到下次如果小于8个,则一次全部读入。所以如果你接收的是固定长度的字符,直接设置该属性即可如果是变长的,则需要一些额外的技巧 visualtree(梦想依旧) 我要接收的是变长度的呀并且要把串口读入的字符一次全部读完不要有余下的放在缓冲区请问要怎么办呢? visualtree(梦想依旧) 我要接收的是变长度的呀并且要把串口读入的字符一次全部读完不要有余下的放在缓冲区请问要怎么办呢? 请教个文件操作的问题 VB6通过API操作注册表实例 我想把我的代码路径变成自动指定的,可是怎么也写不好 为什么我做的控件不能被ie下载,我把ie的安全都降到了最低!?!? 如何能把数据写到DataGrid的第一行??? 非典型肺炎的治疗与预防 一个经常遇到的问题 请问:如何用vba修改文件夹的名称 sql:update ?? Winsock1的问题 vb的sql语句问题 这段代码哪里错了
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/comm98/html/vbobjcommx.asp?frame=true 另外,您还可以使用MSComm的OnComm事件来异步接收数据.您可以参考以下文档中的示例代码:
INFO: Receiving Data Using the MSComm Control's OnComm Event
http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q194922 - 微软全球技术中心 VB技术支持本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。为了为您创建更好的讨论环境,请参加我们的用户满意度调查(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/comm98/html/vbobjcommx.asp?frame=true 另外,您还可以使用MSComm的OnComm事件来异步接受数据.您可以参考以下文档中的示例代码:
INFO: Receiving Data Using the MSComm Control's OnComm Event
http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q194922 - 微软全球技术中心 VB技术支持本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。为了为您创建更好的讨论环境,请参加我们的用户满意度调查(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。
mscomm1.RThreshold = 需要接受的字节长度
谢谢
现在好像以前的问题可以解决了
但是好像每次接收数据完以后
缓冲区好像还有数据,怎么才能把这些数据清除掉啊?
设置每次由串行端口读入的字符串长度或字节个数。
如果缓冲区有大于8个的字符,则只读入8个字符,其它的等到下次
如果小于8个,则一次全部读入。
所以如果你接收的是固定长度的字符,直接设置该属性即可
如果是变长的,则需要一些额外的技巧
我要接收的是变长度的呀
并且要把串口读入的字符一次全部读完
不要有余下的放在缓冲区
请问要怎么办呢?
我要接收的是变长度的呀
并且要把串口读入的字符一次全部读完
不要有余下的放在缓冲区
请问要怎么办呢?