解决方案 »

  1.   

    1、首先我把虚拟串口当成实际串口来接收数据
    (1)打开串口
    (2)配置串口
    (3)读写串口
    (4)关闭串口
       基本正确,但1、2对调,先配置串口再打开
    2、接收到串口数据后,VC连接access数据库
    VC连接access数据库有几种方式:ODBC、ADO等,然后选择ADO方式连接数据库
    一般使用ADO
    3、连接数据库后将串口数据写入access数据库
    是的,接收数据后可能需要进行数据转换或解释,然后存入数据库
      

  2.   

    Windows系统中的应用程序中,你只需要选择对应设备,设备间的交互是标准的,至于是虚拟还是实际并不用关心,驱动程序会帮助你完成。了解你的设想与对应的设计,建议实施中将程序模块化,比如:主控程序、通信、数据库处理等,便于升级和调试。
      

  3.   

    楼主是不是 要存储通过串口的16进制的数据  需要转换的     串口通信  的ado access 都不难啊
      

  4.   

    配置串口和打开串口不是应该是一步么。
    读取,甩到个线程里就好了我做数据库操作还是比较习惯用odbc,虽然,总是出现这样那样的问题,但是好调试啊。但是其中有几个需要注意的
    1.串口的波特率要写对
    2.串口16进制收发,0x00不一定是结束符
    3.数据库推荐开始运行就打开,关闭程序的时候再关闭。如果通信良好的情况下
      

  5.   

    串口连接  去网上找一个mscomm类 直接用里面的函数就行  想要
    接受串口的16进制数据需要转换一下 
                                    for(int i=0;i<sizeof(Temp);i++)//ascII码转换16进制
    {
    temp=(Temp[i] & 0xF0)>>4;
    recvBufTemp[j]=(temp<=9)?temp+'0':(temp-10)+'A';
    j++;
    temp=(Temp[i] & 0x0F);
    recvBufTemp[j]=(temp<=9)?temp+'0':(temp-10)+'A';
    j++;
    }
    recvBufTemp数组里面就是16进制的数据了,char类型的都是