怎么用teechart控件显示曲线图
如何用teechart控件显示曲线图
{新人求教 }
用teechart控件显示曲线图,数据来自串口。
哪位大神有相似的例子也可以,让参考下
------解决思路----------------------
串口数据要有一定格式吧
------解决思路----------------------
用CP上的开源控件吧http://blog.****.net/sunnyloves/article/details/5661841
串口读取数据也用国产的一个开源类吧http://blog.****.net/sunnyloves/article/details/5575995
接受数据
用
------解决思路----------------------
我也是类似的问题,不过我的数据来动态链接库。 我也不知道怎么把数据调进来。
这是我的
HINSTANCE hDll; //声明DLL prefix = o ns = "urn:schemas-microsoft-com:office:office"
hDll=LoadLibrary("MPS-CCD.dll");
if(NULL==hDll)
{
AfxMessageBox("Cann't find MPS-CCD.dll");
}
typedef int (__stdcall*lpMPS_GetData) (float* DataBuffer,int DeviceNumber,float DriveRate);
lpMPS_GetData MPS_GetData=(lpMPS_GetData)GetProcAddress(hDll,"MPS_GetData");
if(NULL==MPS_GetData)
{
AfxMessageBox("Cann't find function");
}
float DataBuffer[2048]; //定义大小为2048的数据缓存
int FLAG = 0; //定义函数运行成功/失败标志
FLAG =MPS_GetData(DataBuffer,0,0); //调用函数,以默认驱动频率采集
//设备0的一帧信号
if(FLAG == 1) //函数执行成功,此时DataBuffer中的数据已经被更新为CCD的 一帧数据
{
for(int i=0; i<2048; i++)
{
float Y=DataBuffer[i]; //在此添加对数据的处理代码
m_ctrlChart.Series(0).AddXY(i,Y,NULL,RGB(255,0,0));
}
}
else
{
//在此添加报错代码
}
自己添加了,不知对不对,你会吗?
{新人求教 }
用teechart控件显示曲线图,数据来自串口。
哪位大神有相似的例子也可以,让参考下
------解决思路----------------------
串口数据要有一定格式吧
------解决思路----------------------
用CP上的开源控件吧http://blog.****.net/sunnyloves/article/details/5661841
串口读取数据也用国产的一个开源类吧http://blog.****.net/sunnyloves/article/details/5575995
接受数据
LPARAM CMainFrame::OnComRecv(WPARAM wParam, LPARAM lParam)
{
CString str;
TCHAR buffer[100];
SCom.ReadString(buffer,20);
str.Format(_T("%s"),buffer);
AfxMessageBox(str);
return(true);
}
用
_ttol(str.Mid(3,9));就是温度了
------解决思路----------------------
我也是类似的问题,不过我的数据来动态链接库。 我也不知道怎么把数据调进来。
这是我的
HINSTANCE hDll; //声明DLL prefix = o ns = "urn:schemas-microsoft-com:office:office"
hDll=LoadLibrary("MPS-CCD.dll");
if(NULL==hDll)
{
AfxMessageBox("Cann't find MPS-CCD.dll");
}
typedef int (__stdcall*lpMPS_GetData) (float* DataBuffer,int DeviceNumber,float DriveRate);
lpMPS_GetData MPS_GetData=(lpMPS_GetData)GetProcAddress(hDll,"MPS_GetData");
if(NULL==MPS_GetData)
{
AfxMessageBox("Cann't find function");
}
float DataBuffer[2048]; //定义大小为2048的数据缓存
int FLAG = 0; //定义函数运行成功/失败标志
FLAG =MPS_GetData(DataBuffer,0,0); //调用函数,以默认驱动频率采集
//设备0的一帧信号
if(FLAG == 1) //函数执行成功,此时DataBuffer中的数据已经被更新为CCD的 一帧数据
{
for(int i=0; i<2048; i++)
{
float Y=DataBuffer[i]; //在此添加对数据的处理代码
m_ctrlChart.Series(0).AddXY(i,Y,NULL,RGB(255,0,0));
}
}
else
{
//在此添加报错代码
}
自己添加了,不知对不对,你会吗?