在S60第三版手机上通过USB线进行串行通信

在S60第三版手机上通过USB线进行串行通信

From Forum Nokia Wiki

  • 开发伙伴平台:

S60 3rd Edition

S60 3rd Edition, FP1



  • 详细描述

RComm API可以通过USB串号通信传输数据。在S60第三版上,无须加载物理(PDD)和逻辑(LDD)设备驱动。只要加载CSY module ECACM即可。


USB通信的端口名一般为“ACM::1”,某些手机可以支持多个ACM端口。第一个端口(ACM::0)是为fax/modem处理保留的,而ACM::1及向后的其他端口都可以在其他程序中使用。


一个初始化串行端口的实例:

_LIT(CSYMOD, "ECACM");
 
    _LIT(KACMPort1, "ACM::1");     
 
    // RComm is a client to the RCommServ Comms server 
 
    // Start this service before any connections are made.     
 
    TInt ret = StartC32(); 
 
    if ( ret != KErrNone && ret != KErrAlreadyExists )
 
        {
 
        User::Leave ( ret );
 
        }    
 
    // Connect to CommServer 
 
    RCommServ server; 
 
    User::LeaveIfError( server.Connect() );    
 
    // Load CSY Module 
 
    User::LeaveIfError( server.LoadCommModule( CSYMOD ) );    
 
    TBuf16<KMaxPortName> portName; 
 
    portName.Copy( KACMPort1 );    
 
    // Open the comm. port
 
    RComm commPort; 
 
    User::LeaveIfError( commPort.Open( server, portName, ECommShared ) );     
 
    // Verify capabilities of the port and configure it    
 
    TCommCaps portCaps; 
 
    commPort.Caps( portCaps );    
 
    if (((portCaps().iRate & KCapsBps115200) == 0) || 
 
        ((portCaps().iDataBits & KCapsData8) == 0) || 
 
        ((portCaps().iStopBits & KCapsStop1) == 0) || 
 
        ((portCaps().iParity & KCapsParityNone) == 0))
 
       {   
 
       User::Leave( KErrNotSupported );
 
       }    
 
    TCommConfig portCfg; 
 
    commPort.Config( portCfg );    
 
    portCfg().iRate     =   EBps115200; 
 
    portCfg().iParity   =   EParityNone; 
 
    portCfg().iDataBits =   EData8; 
 
    portCfg().iStopBits =   EStop1; 
 
    portCfg().iHandshake =  0;    
 
    User::LeaveIfError( commPort.SetConfig( portCfg ) );



在此之后你可以向端口进行读写操作,PC端则需要运行一个程序以监听此端口。  

原文: http://wiki.forum.nokia.com/index.php/%E5%9C%A8S60%E7%AC%AC%E4%B8%89%E7%89%88%E6%89%8B%E6%9C%BA%E4%B8%8A%E9%80%9A%E8%BF%87USB%E7%BA%BF%E8%BF%9B%E8%A1%8C%E4%B8%B2%E8%A1%8C%E9%80%9A%E4%BF%A1

你可能感兴趣的:(在S60第三版手机上通过USB线进行串行通信)