VC++6.0下开发实时曲线的有关问题

VC++6.0下开发实时曲线的问题
问题描述:
通过串口和一设备通讯,把采集到的数据(0-65565这个范围的数据)以实时曲线的方式显示出来
横,纵坐标都划分为20等份。
实时曲线的横轴:时间,单位是毫秒,间隔20mm
实时曲线的纵轴:数值,单位是毫米(采集到的数据的单位就是毫米)

如果纵轴能随着数据自动变化最好,要不然数据变化小的时候看不出来

谁有好的办法或示例,还希望指点一下,有的好串口通讯类,也给一份最好。

可发到邮箱里:yslzhf@sohu.com



------解决方案--------------------
这种例程资源下载里面多的很,给你发了一个。


用TeeChart也不错。
------解决方案--------------------
1.网上找一下例程看看如何绘制曲线
2.串口通信看龚老师的《Visual C++_Turbo C串口通信编程实践》
3.每个问题的细节和过程都不一样,这个需要自己去实现
------解决方案--------------------
1.串口通信可以用MSCOMM控件,这个比较简单,完全满足你的要求.
2.曲线要注意的是客户区坐标(或屏幕坐标)和数据的对应的关系,就是把你收到的数据转换成坐标值,这个转换关系根据你的程序的所选的坐标系统有关.
也就是要处理好两个数据关系:屏幕的纵坐标的最大值和接收数据的最大值的比例关系,屏幕的横坐标的最大值和接收数据的最大时间的关系.把这两个关系的公式推出来就可以在屏幕上正确显示曲线.
开始先定一个初始时间和初始纵坐标值,当接收数据的最大值和纵坐标最大值差值在一个设置值内时就增大纵坐标最大值(就是重新全部画曲线);当接收数据的时间和横坐标的最大时间值差值在一个设置值内时,就增大横坐标值并重新全部画曲线.
过程就是这样,没必要弄什么双缓冲区.
------解决方案--------------------
COscilloscopeCtrl
http://www.codeproject.com/Articles/3799/COscilloscopeCtrl