解决方案 »

  1.   

    共享内存,然后有数据变化通过同名事件通知对方读取。
    mscomm是串口通信,你要从外界读,要看对方提供什么接口。
    另一个串口速率有限。如果你的数据是1个字节的,那么10000个是满足的,但是如果不是速度就跟不上。
      

  2.   


    还得向您请教一下,就是说一秒把接收到的那么多数据全部写进access数据库,应该是跟不上的吧?那有没有比较好的办法可以解决这种接受进程的接收速度和写入速度不匹配的问题?
    我是不是应该先让这些数据存在一个很大的缓冲内存中,然后再慢慢的读出来?这样可以不?具体应该怎么操作?谢谢了
      

  3.   

    看了别的提问,有人提到说acces在70000条记录以上的时候会出现变慢的情况,我想存储的数据量绝对不是几万条的啊,这种情况是真的么?怎么解决?
      

  4.   

    自己顶一下,才接触mfc三个月,真的是有好多不懂得,但是不知道该怎么努力   ,等待各位的指点
      

  5.   

    acces不适合大数据量存储
    换数据库mysql或mssql
      

  6.   

    串口接收不推荐用mscomm控件
    直接api操作串口
      

  7.   

    sqlite本地数据库,写入50万个数据(每个数据10字节),大约需要3s。
      

  8.   

    假如我使用两个线程来完成接受和存储,有没有人可以告诉我怎么才能使得接受数据和存储数据互不干扰,使用setevent可以不?我觉得接收数据的那个线程应该是优先级高一点吧,要不然在存储的时候数据来了,不是会丢失数据么?
      

  9.   

    把从串口接收到的数据,放入一个“缓冲区”中,比如,你的一个数据代表一个字节,那么,你可以建立一个缓冲区
    char [100][1000];,
    这样,你就有了一个队列,它可以存放100次接收到的数据,然后你可以把队列中的数据,放到数据库中就可以了,但是你需要自己来管理这个队列,如果你不想自己管理,你可以使用STL中的'queue“容器,这是最简单的方法
      

  10.   

    你可能使用的不是MFC,但可以使用API函数。建议自己搜索一下 自定义消息,Windows系统使用的就是消息循环机制。
      

  11.   


    加上起始位结束位校验位,一个字节不止1ms,如果还要校验应答,则远远多于1ms
      

  12.   

    lz的问题瓶颈在于串口通信,10K字节+校验位开始位结束位的有11位每字节,则起码的有110K的波特率,传输可能会失败,得有错误处理机制,建议使用usb传输
      

  13.   

    我最近也在做这个,串口接收的转速。还有其他的温度压力等待测量,我看过一份技术文档,是研华的DMA高速数据采集,用的fifo,很符合你的要求。采集和存储互不干扰。