你先将串口读取的数据存放在一个动态数组里呀,最后可以用CTChart控件加载数据绘图

解决方案 »

  1.   

    还有个问题就是,我用vs2008写完的程序,用静态链接库的方式生成的exe文件在我电脑里正常使用,到别到电脑exe文件双击之后没反应。
      

  2.   

    我把问题分几点给楼主解答一下。因为这个领域所以有些说法我也不一定准确,还希望有明白的大神来指点。
    1、具我所知串口传输的效率是1ms一个字节,不知道有没有办法提高这个效率。楼主所说的1ms 4字节不知道是个什么情况。
    2、串口传输数据本来就是会丢失数据,类似于网络协议UDP那样的不可靠的传输。
    3、用串口想实现协议恐怕也很难,因为好像是不能回传数据。以上还希望多指教。
      

  3.   

    结构问题:串口接受要 用 线程绘图 在 主线程。串口波特率 9600 时 ,约 1ms 一个字节, 4个 字节 4ms !
      

  4.   


    我的 绘图是副线程,串口波特率是115200..
    好像现在不丢数据了,但是运行3分钟之后会出现run time erro ,很是苦恼...求指导 
      

  5.   

    "好像现在不丢数据了,但是运行3分钟之后会出现run time erro "
    先 找到 error
      

  6.   

    出现RunTime Error这样的错误,往往是应为指针问题造成的,看看你的指针是否正常!
    大概分析:(1)绘图时,GDI指针问题
                        (2)接收数据的缓冲区指针问题。
    个人猜测!
      

  7.   

    查指针bug比较不擅长...run time erro 已经解决,现在很奇怪的是同一个exe文件在不同电脑表现不一样...两台电脑接受数据和绘图很正常,另外两台电脑5分钟后数据就不正常了,前两台电脑确实处理器要好一点,难道这个会影响?
      

  8.   

    "现在很奇怪的是同一个exe文件在不同电脑表现不一样"
    你的程序, 不能 依赖 CPU 执行时间 ! 即所谓的 1ms !因为你的程序 , 被 OS 调度 不是 固定的 时间 !
      

  9.   

    崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处。
      

  10.   

    提醒楼主:就算你能实现每100ms刷新一次绘图,请问又有哪个人能用肉眼注意到100ms前和100ms后图形有变化呢?
      

  11.   

    你怎么能用windows来处理实时性如此高的业务呢!
    建议你做个前置机来采数据,然后1秒集中上送后台一次
    不然你这cpu肯定吃不消
    我给你推荐个理念吧,凌华ADLINK的高频采集卡
    他就是用了数据双缓冲技术,每当buffer半满就向MFC发一个消息
    然后你把这半个buffer的数据取出进行保存和绘图
    然后周而复始,这才是正常的策略