• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > 串口通信的数据类型问题

串口通信的数据类型问题

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了串口通信类型,串口通信数据位,串口通信数据解析,串口通信数据丢失,c#多串口通信数据丢失等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 串口通信的数据类型问题
描述:

使用vc串口通信时,
getinbuffercount()函数获取的是缓冲区里的二进制数的个数呢还是其他类型的?
在硬件层的数据传输都是使用二进制数来完成了,从硬件层到软件层,完成数据类型的的转换又是靠谁来完成的呢?


解决方案1:

这是我的代码,用MSCOMM32.ocx控件,没问题,已使用多年没出问题:
void CMy72V300AView::OnCommMscomm1()
{
VARIANT variant_inp;
COleSafeArray safearray_inp;
long i = 0,len;
switch (m_Comm1.get_CommEvent())
{
case 2:
//表示接收缓冲区内有字符
{
variant_inp = m_Comm1.get_Input();
safearray_inp = variant_inp;
len = safearray_inp.GetOneDimSize();
for (i = 0; i < len; i++)
{
safearray_inp.GetElement(&i, &m_ReceBuff[i]);   
}   
m_Comm1.put_OutBufferCount(0);// '清空发送缓冲区
m_Comm1.put_InBufferCount(0);// '滑空接收缓冲区
safearray_inp.Clear();
}
break;
default:
break;
}
}
串口初始化:
view1->m_Comm1.put_CommPort(1); //串口1
view1->m_Comm1.put_InBufferSize(4096); //设置输入缓冲区的大小,Bytes   
view1->m_Comm1.put_OutBufferSize(2048); //设置输入缓冲区的大小,Bytes   
if(!view1->m_Comm1.get_PortOpen()) //打开串口
{
view1->m_Comm1.put_PortOpen(true);   
}
view1->m_Comm1.put_OutBufferCount(0);// '清空发送缓冲区
view1->m_Comm1.put_InBufferCount(0);// '滑空接收缓冲区
view1->m_Comm1.put_InputMode(1); //设置输入方式为二进制方式   
view1->m_Comm1.put_Settings(str); //设置波特率等参数   
view1->m_Comm1.put_RThreshold(8); //为8表示有8个字符即引发事件   
view1->m_Comm1.put_InputLen(0);


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 串口通信中的类型转换
  • 串口通信的数据类型问题

相关文章

  • 2017-06-04 com?????/很急,在线等待
  • 2017-06-05 急!一个关于DLL的问题
  • 2017-06-05 请问如何将指针的内容传给数组?不简单哟!
  • 2017-06-05 界面显示问题(有一点难度的问题)
  • 2017-06-05 如何使用CreateSystemTimer和KillSystemTimer
  • 2017-06-04 Atl专家请进
  • 2017-06-04 请教一个mediaplayer控件的问题,达人请进
  • 2017-06-04 MFC开发ocx控件的问题--希望高手进来看一看
  • 2017-06-05 急!关于WinMain的!
  • 2017-06-05 关于DLL的一个问题,新人,求高手帮忙!

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 深入解析ATL谁能提供给我电子版,我讲令开贴给100分
    • 360分!我是菜鸟,但在赶一个项目,求高手几个NetMeetingSDKCOM方面的使用问题,就是使用COM的问题
    • MFC操作Excel拿到排序字段
    • 求书:UnderstandingActiveXandOLE/DavidChappell
    • 请问怎么改变控件的调试容器啊
    • windows服务中调用组件为什么老失败?
    • 一个自定义类的实例如何向使用它的控件发消息?
    • 谁能告诉我哪里有《COM/DCOM编程指南》的随书例子?
    • 求教:应用程序与dll间的通信
    • BSTRm_Name=::SysAllocStringL"";会影响其他BSTR变量??

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有