10188|18

133

帖子

0

TA的资源

五彩晶圆(中级)

楼主
 

TI数控电源diy的上位机软件,可显示曲线等 [复制链接]

可以实时显示数据, 数据格式 是FF H8 L8(电压) H8 L8(电流) 曲线绘制没有分格式 单一数据绘制

 

 

下面的流程图怎么会多了eeworld的标志 | |

//==========================================================================

Borland公司的C++ Builder 6.0编程,C++ Builder是由Borland公司推出的一款可视化集成开发工具。C++ Builder具有快速的可视化开发环境:只要简单地把控件(Component)拖到窗体(Form)上,定义一下它的属性,设置一下它的外观,就可以快速地建立应用程序界面。本系统的上位机软件主要使用了YbCommDevice的串口控件、TChart图表绘制控件和TTimer控件等。

C++ Builder的最大优点是可以选择使用很多控件或者VCL来加快软件的开发周期,VCLVisual Component Library(可视组件库的缩写,即可视组件库,它是DelphiC++ Builder编程语言的基本类库。它拥有封装纯粹,可扩展性强,操作方便等特点。如果是一个非常繁杂的Win32API,在经过VCL封装后,使用也是非常简便的。VCL支持类的嵌套,过程及函数的嵌套,如果你想在一个过程里声明一个类,或是声明另一个过程,那是完全可行的。过程内部的过程或是函数被称为局部过程或是局部函数VCL对事件的支持及封装也是非常完整的,通过事件对象的声明,可以将任意的外部事件源绑定到VCL控件。

Visual C++编程多使用Win32API以及ActiveXMFC上进行编程,而C++ Builder开发平台可以使用所有的Win32API,还提供了很多VCL可供选择使用,功能强大。在提供的Form上利用鼠标拖动的方式来布局控件和软件的界面,同时有些原开发平台上没有涉及到的领域,一般也会有第三方开发的控件来填补。对于一般单个控件,Component-->install component-->选择添加的控件的路径。

//=========================================================================

 

[ 本帖最后由 kinglong2765 于 2011-7-23 17:34 编辑 ]

1.JPG (118.28 KB, 下载次数: 14)

1.JPG

2.JPG (22.76 KB, 下载次数: 0)

2.JPG

数控电源diy.rar

681.71 KB, 下载次数: 201

最新回复

看上去不错啊,但是硬件端给你发什么样的数据格式呢  详情 回复 发表于 2017-6-21 15:13
 
点赞 关注

回复
举报

134

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
好犀利。
 
 

回复

102

帖子

0

TA的资源

一粒金砂(高级)

板凳
 
你的上位机用的什么语言编的?
 
 
 

回复

1万

帖子

16

TA的资源

版主

4
 

不错,顶

 
个人签名http://shop34182318.taobao.com/
https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
 
 

回复

133

帖子

0

TA的资源

五彩晶圆(中级)

5
 

回复 沙发 abclixu123 的帖子

呵呵 好久没人夸了
 
 
 

回复

133

帖子

0

TA的资源

五彩晶圆(中级)

6
 

回复 板凳 guozhiyang 的帖子

C++ BUILDER 6.0
 
 
 

回复

133

帖子

0

TA的资源

五彩晶圆(中级)

7
 
YbCommDevice控件是由Victor Chen免费提供的第三方串口控件,其具有串口自动识别和选择、奇偶校验、数据位控制、停止位设置,并且可以设置调制解调器功能,如数据流控和自动应答等功能。
读取串口数据代码如下:
unsigned char Buf[8192]; //收到的字节数不会超过串口缓存的容量
AnsiString s;// AnsiString数据类型代表一序列的数据字,容量可从4 bytes 到2GB       
int n = YbCommDevice1->Read(Buf,8192); //收到 n 个字节
for(int i=0; i   {
  s += IntToHex(Buf,1) + " ";//把读出的串口缓存的数据存在s中
  }
  s = s.Trim();//去掉控制符号“空格”
写串口则只需,
YbCommDevice1->Write(Buffer,nBytes);//Buffer表示待发送数据所在数组,nBytes表示所需发送的数据长度。
由上述代码实例可以看出,该串口控件使用起来十分简单,实际效果良好且方便。
 
 
 

回复

133

帖子

0

TA的资源

五彩晶圆(中级)

8
 
TChart图表绘制控件
Tchart是Borland公司提供的图表绘制类控件,只需要给出所需画的点的坐标参数即可在一个二维的坐标系中绘制出单独的点或者连续的曲线。该二维坐标系具有放大缩小和自由拖动等功能,使用起来方便。在控件中添加曲线Series1或者更多的曲线,绘制时使用语句:
Series1->AddXY(t,StrToFloat(Buf),"",clRed);
其中t是表示时间,为X坐标,Y坐标要求给Float型参数,故使用StrToFloat()函数转换。clRed表示颜色为红,除了红以外还有很多颜色可以选择。
在绘制过程中横坐标如果超过初始设定的最大横坐标值600,则自动加大横坐标的最大值和最小值,让坐标向右增大方向平移。在Tchat中,可以使用右键来移动坐标的起始点,而鼠标的滚轮可以放大和缩小坐标的单位。鼠标在chat中的实时坐标将会在chat的右上方显示,格式为(X,Y),保留两位小数,其代码如下:
void __fastcall TForm1::Chart1MouseMove(TObject *Sender, TShiftState Shift,
      int X, int Y)
{
    float xt,yt,x,y;
    char   buf1[16];
    char   buf2[16];
    x =Series1->XScreenToValue(X);//获得X的坐标
    y =Series1->YScreenToValue(Y); //获得Y的坐标
    sprintf(buf1,"%0.2f",x);//格式转换
    sprintf(buf2,"%0.2f",y); //0.2表示保留两位小数
    LabelX->Caption = buf1;//显示X坐标值
    LabelY->Caption = buf2; //显示Y坐标值
}
 
 
 

回复

133

帖子

0

TA的资源

五彩晶圆(中级)

9
 
TTimer系统控件实现分时操作
本上位机软件使用TTimer控件实现多线程操作或者这里叫做分时操作。在一个程序中,这些独立运行的程序片断叫作“线程”(Thread),利用它编程的概念就叫作“多线程处理”。多线程处理一个常见的例子就是用户界面。利用线程,用户可按下一个按钮,然后程序会立即作出响应,而不是让用户等待程序完成了当前任务以后才开始响应。C++builder提供标准的CPU多线程操作方法,但是在这里编程起来不是十分的方便,所以采用TTimer定时器来实现简单多线程功能。具体方法是,使用多个TTimer,并且设置每个TTimer在没有其他任务时的触发时间,
Timer1->Interval = 100;//为100ms触发一次,其方法图如图5.4所示
然后在void __fastcall TForm1::Timer1Timer(TObject *Sender)这个函数中处理所需的动作,如读写等。在Button控件中控制Timer1的开或者关,
Timer1->Enabled = true;//true为开,false为关
下面是向串口写数的代码,
void __fastcall TForm1::Timer2Timer(TObject *Sender)
{
  int nBytes = 0;
  char Buffer[1000], *EndPtr;
  AnsiString t,s = Edit1->Text.Trim();
  while(s.Length()>0)
   {
     int p = s.Pos(' '); //空格
     if(p>0)
      {
        t = s.SubString(1,p-1);
        s = s.SubString(p+1,s.Length()).Trim();
        Buffer[nBytes++] = strtol(t.c_str(), &EndPtr, 16); //十六进制字符串转成字节
      }
     else //还剩下最后一个字节
      {
        t = s;
        s = "";
Buffer[nBytes++] = strtol(t.c_str(), &EndPtr, 16); //十六进制字符串转成字节
      }
   }
  YbCommDevice1->Write(Buffer,nBytes);//发送数据
}
 
 
 

回复

5310

帖子

453

TA的资源

五彩晶圆(高级)

10
 
好,强烈支持!
 
 
 

回复

133

帖子

0

TA的资源

五彩晶圆(中级)

11
 

回复 10楼 蓝雨夜 的帖子

thanks boss~!
 
 
 

回复

173

帖子

0

TA的资源

一粒金砂(初级)

12
 
学习好控件找找去
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(高级)

13
 
其实这些用C#来实现也不难!
 
 
 

回复

996

帖子

0

TA的资源

一粒金砂(高级)

14
 
好久没有看到海尔兄弟了!~
 
 
 

回复

232

帖子

0

TA的资源

一粒金砂(中级)

15
 
楼主强啊,多学习了
 
 
 

回复

2751

帖子

0

TA的资源

裸片初长成(初级)

16
 
mark,good.
 
 
 

回复

133

帖子

0

TA的资源

五彩晶圆(中级)

17
 

回复 14楼 larrybirdkobe 的帖子

刚毕业
 
 
 

回复

45

帖子

0

TA的资源

一粒金砂(中级)

18
 
这个很牛!呵呵
 
 
 

回复

4

帖子

0

TA的资源

一粒金砂(初级)

19
 
看上去不错啊,但是硬件端给你发什么样的数据格式呢
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表