能拨号成功并且能收发数据的最好,谢谢啦

解决方案 »

  1.   

    HANDLE hDev = CreateFile( "COM1", //指明串口名称,COM1代表第一个串口,COM2代表第二个串口
    GENERIC_READ | GENERIC_WRITE, //用于读和写
    0, 
    NULL, 
    OPEN_EXISTING, 
    FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED, //指明为异步操作方式
    NULL );
    串口被打开后,马上要进行的操作就是设置串口的状态和属性,通过指定一个DCB的结构来对串口进行设置,所使用的函数有下面这些 
    BOOL SetCommState(
      HANDLE hFile,  // handle to communications device
      LPDCB lpDCB    // device-control block
    );
    //设置端口的缓冲区大小
    BOOL SetupComm(
      HANDLE hFile,     // handle to communications device
      DWORD dwInQueue,  // size of input buffer 输入缓冲区大小
      DWORD dwOutQueue  // size of output buffer 输出缓冲区大小
    );
    串口的读写可以利用ReadFile和WriteFile函数。
    拨号:WriteFile("AT.....");
      

  2.   

    HANDLE hDev = CreateFile( "COM1", //指明串口名称,COM1代表第一个串口,COM2代表第二个串口
    GENERIC_READ | GENERIC_WRITE, //用于读和写
    0, 
    NULL, 
    OPEN_EXISTING, 
    FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED, //指明为异步操作方式
    NULL );
    这样打开串口,只能在98下用吧,想在2000下用是行不通的FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED   -->  NULL  再试试
      

  3.   

    1.先要会写普通的串口通信程序,这方面资料很多。
    2.在传输AT指令是要注意在指令结束处有一个\n字符。
    3.可以先使用AT\n测试猫是否可用。
    注意事项:
    1.AT指令是ASCII码
    2.\n是不可输入的字符,你必须在程序中实现。只需在AT指令后面添加13即可。
    如:char chAT[3];
    chAT[0] = 'A';
    chAT[1] = 'T';
    chAT[2] = 13;
      

  4.   

    就往串口送"atdt028xxxxxxxx\r\n",然后ReadFile,WriteFile.
      

  5.   

    我这里有例子 要不要 [email protected]
      

  6.   

    THX
    我要一份
    [email protected]
    up
      

  7.   

    我也要一份
    研究一下,谢谢先
    [email protected]